传统加密技术

CANS3-CLASSICAL ENCRYPTION TECHNIQUES(传统加密技术)

1 SYMMETRIC CIPHER MODEL

1.1 五个基本成分

对于一个对称加密的过程,有五个基本成分:

  • 明文 Plaintext 原始的可理解的消息或数据,是加密算法的输入
  • 加密算法 Encryption algorithm 加密算法是对明文进行各种代替(substitutions)置换(transformation),以产生不可理解的密文
  • 密钥 Secret key 密钥也是加密算法的输入,独立于明文和算法,算法根据所用的特定密钥而产生不同的输出,算法所进行的各种代替和置换也依靠密钥。
  • 密文 Ciphertext 密文是加密算法的输出,直观看起来不可理解其代表的意识,依赖于明文密钥,对于给定的相同的明文,不同的密钥将产生不同的密文。
  • 解密算法 Decryption algorithm 本质上是加密算法的逆运算,输入为密文和密钥,输出原始明文

而对称密码对称的意思就是加密使用的密钥和解密使用的密钥是相同的

阅读更多
CIA and OSI SECURITY ARCHITECTURE

写这篇文章的原因:考完试后经过半个月的补觉和躺平,本菜狗终于想起来要学习了(不是),《密码编码学与网络安全》简称CANS之前其实看过一二章,然后再次看的时候,完全不记得以前看过了(淦),算了算了重新开始看吧,写博客单纯记录自己学习的过程和尽量避免学完就忘(dalao们不要见笑,原谅我这个菜狗的水平hh),如有错误,敬请指出!!!

阅读更多
计算机网络运输层

本文巨长且干货极少,阅读请谨慎!!!!

1 运输层协议概述

1.1 为什么需要运输层?

和之前介绍的层次一样,在开始之前,我们需要先知道为什么需要运输层

我们知道现代操作系统,都是支持"多任务"的操作系统。“多任务"简单的说就是操作系统可以同时运行多个任务,比如你可以一边在用浏览器上网,一边打开网易云听歌,一边用Word赶作业。

那么操作系统如何实现这种”多任务“呢?答案就是操作系统轮流让各个任务交替执行,但是因为CPU太快了,给我们的感受就是所有任务都在同时执行。对于操作系统而言,一个任务就是一个进程(Process),

这里提到进程,我们知道,计算机网络体系结构中的物理层数据链路层以及网络层它们要解决的问题是在网络互联的情况下,如何实现主机到主机的通信

然而,真正在计算机网络中进行的通信是位于通信两端主机中的进程之间的通信,是一台主机中的一个进程和另一台主机中的另一个进程在交换数据(也就是通信)。

阅读更多
计算机网络物理层

1 物理层的基本概念

需要物理层需要做些什么?

需要指出,物理层考虑的是怎样才能在连接各种计算机的传输媒体传输数据比特流,而不是指某种具体的传输媒体。

可以说,物理层提供了一层抽象,上层的数据链路层和网络层只需要知道物理层传输的是比特流,而不去考虑物理层用何种方式去传输比特流。

为什么要提供这样的一层抽象?因为现有的计算机网络中的硬件设备和传输媒体的种类非常繁多,而通信手段也有很多不同的方式,物理层的作用正是要尽可能地屏蔽掉这些传输媒体和通信手段的差异和复杂性,使得物理层上面的数据链路层感觉不到这些差异,这样就可以使得数据链路层只需要考虑如何完成本层的协议和服务,而不必考虑网络具体的传输媒体和通信手段是什么,大大降低了复杂性。

此外,数据在计算机内部多采用并行传输方式,而数据在通信线路上的传输方式一般都是串行传输,也就是逐个比特按照时间顺序传输,因此,物理层还要完成传输方式的转换

阅读更多
计算机网络数据链路层

数据链路层的设计初衷

我们知道物理层的线路上传输的是我们的比特流,物理层的线路由传输介质与通信设备组成。比特流在物理线上的传输肯定会存在误差。这样我们就引入了数据链路层在物理层之上,在数据链路层中采用差错检测差错控制流量控制等方法,向网络层提高高质量的数据传输服务。

注意这里说的是高质量,而不是可靠,数据传输的可靠仍然要靠我们传输层的TCP协议实现。数据链路层提供了差错检测机制,相对于物理层来说,提高了数据传输的质量。

这样数据链路层就可以看成了网络层物理层之间的一层抽象,属于计算机网络中的低层。

阅读更多
hexo melody主题配置邮箱链接

首先到图标网上找一个图标,别人访问你的博客点击该图标就可以利用mailto给你发邮件。

这里我选择的是envelope图标,点击图标进去,点击Start Using This Icon

阅读更多
函数依赖,码和范式

1 函数依赖X\rightarrowY

1.1 什么是函数依赖?

函数依赖X\rightarrowY: X和Y都是属性(集合)

  • 一个X的值,只对应一个Y
  • 一个Y,可能对应不止的X

X\rightarrowY 的意思是X函数决定Y,或Y函数依赖于X,X是Y的决定元素

阅读更多
《计算机网络》网络层

网络真是太复杂了…感觉很多东西单独理解起来很简单,但合起来内容就变得很复杂,懂完过一阵子就忘记了。

最近计算机网络课学到了网络层了,本文仅是自己对课本学习内容的一个整理,方便期末复习(其实也没怎么整理,本文巨长,阅读请谨慎!!!)

参考书籍是 谢希仁 《计算机网络》第七版

阅读更多
Git教程学习笔记

廖雪峰老师的Git教程之前看过一遍,讲的很简单基础明了,入门应该是够了的,之后对Git的使用还是比较少,所以很多命令都忘记了,前阵子刚刚入门ctf(很弱很弱很弱的那种)有做到git泄露的题目,觉得有必要再了解一遍Git,所以这两天再看了一遍书,做一下笔记,方便查阅,但感觉还是要用起来,用起来,用起来才能记住,本文也只当做学习记录了。注意,本文略长且无营养,阅读请考虑仔细!!!

阅读更多
C语言中的联合

1 C语言中的Union又称为联合,联合的声明语法与结构的语法一样,但是语义差别很大,联合用不同的字段,引用相同的内存块

2 为什么使用联合?

在一些上下文中,联合的使用能够减小分配空间的总量。 一种应用的情况是,我们事先知道对一个数据结构中的两个不同字段的使用是互斥的(同时只会有一个字段是有意义的),那么将这两个字段声明为联合的一部分,而不是结构的一部分,会减小分配空间的总量。

阅读更多