㈠ 序列密码--A5-1算法
A5-1算法用于蜂窝式移动电话系统中的语音加密,主要用于用于的手机到基站之间的加密通信。通信内容到基站后先脱密变成明文,然后在进行基站到基站之间、以及基站到用户手机之间的信息加密,完成通信内容在通信过程的加密保护。
每次通话的时候,基站会产生一个64比特的随机数,与我们手机sim卡内本身带的一野局个密码利用一种加密算法生成一个密钥,这个密钥就是这次通话过程中使用的主密钥,此密钥的生命周期为这一次通话的开始到结束。一旦通话完成,那么这个密钥也就没有用了。
该加密算法把整个通讯的数据划分为每一帧来进行加密。每一帧是有228比特,其中发送端给接收端的数据114比特,接收端反馈给发送端的数据有114比特。除了上面提出的基站给出的64比特的总密钥,针对每一帧的加密,还有一种叫做会话密钥,这种会话密钥每加密一帧都会改变,会话密钥的生成是由帧号来决定的。每一次的会话密钥都会产生一个228比特的乱数来加密这一帧的数据。加密的乱氏方式是异或。帧号一共用22比特的二进制数来表示,也就是说一次通话只能传递2^22次方的通讯数据,因为每一次通话只有这么多帧可以进行加密数据并且传递。
A5-1算法基于三个线性移位反馈寄存器实现的。三个LFSR的级数分别是19 22 23。
f1(x) = x^19 + x^18 + x^17 + x^14 + 1
f2(x) = x^22 + x^21 + 1
f3(x) = x^23 + x^22 + x^21 + x^8 + 1
三个反馈多项式如上所示。
根据上面所讲的,如果要实现a5-1的加密算法,我们需要哪些工具:首先是明文,其次是64位的密钥,三个LFSR,以及帧号。
算法的输入应该就是三个LFSR的初始值,算法的输出就是我们加密明文所需要的乱数。
算法总体来说分为三个部分,初始化,运算,输出乱数
首先是初始化部分:
(1)将三个寄存器内的所有位全都赋值为0
(2)将三个寄存器做64次的移位操作,每第i次操作,寄存器的反馈内容都先与密钥中的第i位进行异或,然后把这样异或的结果作为寄存器此次的反馈内容。三个LSFR都要并行的做这样的工作64次。
(2)将三个寄存器做22次的移位操作,没第i次操作,寄存器的反馈项都先与帧序号的第i位进行异或,将异或的结果作为寄存器的最终反馈内容,同样,三个LSFR也都要并行做22次。
上述三步做完,A5-1加密算法的初始化操作也就做完了。另外需要注意的是,A5-1加密算法的LSFR是左移操作,并且,密钥和帧号都是从最低位到最高位编号。
当初始化步骤完成的时候,此时三个LSFR的状态合称为S0状态。
接下来是计算和输出部分:
大家可以看到,上面的逻辑结构图中,有一个叫做钟控的部分,他有三个输出三个输入,三个输入是分别来三个LSFR的某一个固定位,输出0或者1, 输出0表示此次这个LSFR不会工作,也就是不会发生移动等等,输出的是1的话,那么这个LSFR此次就会移动一位并且得出反馈的结果。也就是说这个钟控哗脊散在控制着三个LSFR的工作与否。
首先根据钟控的方式三个LSFR连续移动100次,但是不输出乱数,此时应该只是做一个混乱的操作。因为LSFR在移动过程中,每一位寄存器内的数值都会不一样,所以在钟控决定每个寄存器运行与否的结果时也会不相同。
接下来会三个LSFR会接着进行连续的114次的移动,也是根据钟控的方式。这一次的移动过程中,三个寄存器将分别把最高位寄存器的值输出,然后三个值做异或运算,形成第i个乱数。这次114次移动会生成一个114位的乱数,用于对手机到基站这一段的数据加密。
之后再进行一次100次的移动和114次的移动,结果和上面说的相同,最终产生的114位密钥用于基站到手机这段的通讯数据加密。
关于钟控:
钟控将第一个寄存器的第八位,第二个寄存器的第10位,第三个寄存器的第10位。抽取这三个位用于控制三个LSFR的动作与否。他们决定的原则类似少数服从多数,三位一共有8种排列方式,当三位中1的个数多余0的个数时,那么这三位是1的对应的寄存器将会移动, 为0的不会,如果三位数中0的个数多余1的个数时,那么三位之中是0的对应的寄存器将会移动。
根据上面的步骤就可以算出当我们把通讯数据切割成每一帧,然后对每一帧进行加密传输的时候,所需要的那个加密的乱数是怎么得来的。至于加密过程很简单,就是明文和乱数的异或操作。
㈡ 开发中常见的加密方式及应用
开发中常见的加密方式及应用
一、base64
简述:Base64是网络上最常见的用于传输8Bit 字节码 的编码方式之一,Base64就是一种基于64个可打印字符来表示二进制数据的方法。所有的数据都能被编码为并只用65个字符就能表示的文本文件。( 65字符:A~Z a~z 0~9 + / = )编码后的数据~=编码前数据的4/3,会大1/3左右(图片转化为base64格式会比原图大一些)。
应用:Base64编码是从二进制到字符的过程,可用于在 HTTP 环境下传递较长的标识信息。例如,在Java Persistence系统Hibernate中,就采用了Base64来将一个较长的唯一 标识符 (一般为128-bit的UUID)编码为一个字符串,用作HTTP 表单 和HTTP GET URL中的参数。在其他应用程序中,也常常需要把二进制 数据编码 为适合放在URL(包括隐藏 表单域 )中的形式。此时,采用Base64编码具有不可读性,需要解码后才能阅读。
命令行进行Base64编码和解码
编码:base64 123.png -o 123.txt
解码:base64 123.txt -o test.png -D Base64编码的原理
原理:
1)将所有字符转化为ASCII码;
2)将ASCII码转化为8位二进制;
3)将二进制3个归成一组(不足3个在后边补0)共24位,再拆分成4组,每组6位;
4)统一在6位二进制前补两个0凑足8位;
5)将补0后的二进制转为十进制;
6)从Base64编码表获取十进制对应的Base64编码;
Base64编码的说明:
a.转换的时候,将三个byte的数据,先后放入一个24bit的缓冲区中,先来的byte占高位。
b.数据不足3byte的话,于缓冲区中剩下的bit用0补足。然后,每次取出6个bit,按照其值选择查表选择对应的字符作为编码后的输出。
c.不断进行,直到全部输入数据转换完成。
d.如果最后剩下两个输入数据,在编码结果后加1个“=”;
e.如果最后剩下一个输入数据,编码结果后加2个“=”;
f.如果没有剩下任何数据,就什么都不要加,这样才可以保证资料还原的正确性。
二、HASH加密/单向散列函数
简述:Hash算法特别的地方在于它是一种单向算法,用户可以通过Hash算法对目标信息生成一段特定长度(32个字符)的唯一的Hash值,却不能通过这个Hash值重新获得目标信息。对用相同数据,加密之后的密文相同。 常见的Hash算法有MD5和SHA。由于加密结果固定,所以基本上原始的哈希加密已经不再安全,于是衍生出了加盐的方式。加盐:先对原始数据拼接固定的字符串再进行MD5加密。
特点:
1) 加密 后密文的长度是定长(32个字符的密文)的
2)如果明文不一样,那么散列后的结果一定不一样
3)如果明文一样,那么加密后的密文一定一样(对相同数据加密,加密后的密文一样)
4)所有的加密算法是公开的
5)不可以逆推反算(不能根据密文推算出明文),但是可以暴力 破解 ,碰撞监测
原理:MD5消息摘要算法,属Hash算法一类。MD5算法对输入任意长度的消息进行运行,产生一个128位的消息摘要。
1)数据填充
对消息进行数据填充,使消息的长度对512取模得448,设消息长度为X,即满足X mod 512=448。根据此公式得出需要填充的数据长度。
填充方法:在消息后面进行填充,填充第一位为1,其余为0。
2)添加信息长度
在第一步结果之后再填充上原消息的长度,可用来进行的存储长度为64位。如果消息长度大于264,则只使用其低64位的值,即(消息长度 对264取模)。
在此步骤进行完毕后,最终消息长度就是512的整数倍。
3)数据处理
准备需要用到的数据:
4个常数:A = 0x67452301, B = 0x0EFCDAB89, C = 0x98BADCFE, D = 0x10325476;
4个函数:F(X,Y,Z)=(X & Y) | ((~X) & Z);G(X,Y,Z)=(X & Z) | (Y & (~Z));H(X,Y,Z)=X ^ Y ^ Z;I(X,Y,Z)=Y ^ (X | (~Z));
把消息分以512位为一分组进行处理,每一个分组进行4轮变换,以上面所说4个常数为起始变量进行计算,重新输出4个变量,以这4个变量再进行下一分组的运算,如果已经是最后一个分组,则这4个变量为最后的结果,即MD5值。
三、对称加密
经典算法:
1)DES数据加密标准
DES算法的入口参数有三个:Key、Data、Mode。其中Key为8个字节共64位,是DES算法的工作密钥;Data也为8个字节64位,是要被加密或被解密的数据;Mode为DES的工作方式,有两种:加密或解密。
DES算法是这样工作的:如Mode为加密,则用Key去把数据Data进行加密, 生成Data的密码形式(64位)作为DES的输出结果;如Mode为解密,则用Key去把密码形式的数据Data解密,还原为Data的明码形式(64位)作为DES的输出结果。在通信网络的两端,双方约定一致的Key,在通信的源点用Key对核心数据进行DES加密,然后以密码形式在公共通信网(如电话网)中传输到通信网络的终点,数据到达目的地后,用同样的Key对密码数据进行解密,便再现了明码形式的核心数据。这样,便保证了核心数据(如PIN、MAC等)在公共通信网中传输的安全性和可靠性。
2)3DES使用3个密钥,对消息进行(密钥1·加密)+(密钥2·解密)+(密钥3·加密)
3)AES高级加密标准
如图,加密/解密使用相同的密码,并且是可逆的
四、非对称加密
特点:
1)使用公钥加密,使用私钥解密
2)公钥是公开的,私钥保密
3)加密处理安全,但是性能极差
经典算法RSA:
1)RSA原理
(1)求N,准备两个质数p和q,N = p x q
(2)求L,L是p-1和q-1的最小公倍数。L = lcm(p-1,q-1)
(3)求E,E和L的最大公约数为1(E和L互质)
(4)求D,E x D mode L = 1
五、数字签名
原理以及应用场景:
1)数字签名的应用场景
需要严格验证发送方身份信息情况
2)数字签名原理
(1)客户端处理
对"消息"进行HASH得到"消息摘要"
发送方使用自己的私钥对"消息摘要"加密(数字签名)
把数字签名附着在"报文"的末尾一起发送给接收方
(2)服务端处理
对"消息" HASH得到"报文摘要"
使用公钥对"数字签名"解密
对结果进行匹配
六、数字证书
简单说明:
证书和驾照很相似,里面记有姓名、组织、地址等个人信息,以及属于此人的公钥,并有认证机构施加数字签名,只要看到公钥证书,我们就可以知道认证机构认证该公钥的确属于此人。
数字证书的内容:
1)公钥
2)认证机构的数字签名
证书的生成步骤:
1)生成私钥openssl genrsa -out private.pem 1024
2)创建证书请求openssl req -new -key private.pem -out rsacert.csr
3)生成证书并签名,有效期10年openssl x509 -req -days 3650 -in rsacert.csr -signkey private.pem -out rsacert.crt
4)将PEM格式文件转换成DER格式openssl x509 -outform der -in rsacert.crt -out rsacert.der
5)导出P12文件openssl pkcs12 -export -out p.p12 -inkey private.pem -in rsacert.crt
iOS开发中的注意点:
1)在iOS开发中,不能直接使用PEM格式的证书,因为其内部进行了Base64编码,应该使用的是DER的证书,是二进制格式的;
2)OpenSSL默认生成的都是PEM格式的证书。
七、https
HTTPS和HTTP的区别:
超文本传输协议HTTP协议被用于在Web浏览器和网站服务器之间传递信息。HTTP协议以明文方式发送内容,不提供任何方式的数据加密,如果攻击者截取了Web浏览器和网站服务器之间的传输报文,就可以直接读懂其中的信息,因此HTTP协议不适合传输一些敏感信息,比如信用卡号、密码等。
为了解决HTTP协议的这一缺陷,需要使用另一种协议:安全套接字层超文本传输协议HTTPS。为了数据传输的安全,HTTPS在HTTP的基础上加入了SSL协议,SSL依靠证书来验证服务器的身份,并为浏览器和服务器之间的通信加密。
HTTPS和HTTP的区别主要为以下四点:
1)https协议需要到ca申请证书,一般免费证书很少,需要交费。
2)http是 超文本传输协议 ,信息是明文传输,https则是具有 安全性 的 ssl 加密传输协议。
3)http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。
4)http的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的 网络协议 ,比http协议安全。
5)SSL:Secure Sockets Layer安全套接字层;用数据加密(Encryption)技术,可确保数据在网络上传输过程中不会被截取及窃听。目前一般通用之规格为40 bit之安全标准,美国则已推出128 bit之更高安全标准,但限制出境。只要3.0版本以上之I.E.或Netscape 浏览器 即可支持SSL。目前版本为3.0。SSL协议位于TCP/IP协议与各种应用层协议之间,为数据通讯提供安全支持。SSL协议可分为两层:SSL记录协议(SSL Record Protocol):它建立在可靠的传输协议(如TCP)之上,为高层协议提供数据封装、压缩、加密等基本功能的支持。SSL握手协议(SSL Handshake Protocol):它建立在SSL记录协议之上,用于在实际的数据传输开始前,通讯双方进行身份认证、协商加密算法、交换加密密钥等。
㈢ 加密技术分为哪两类
加密技术分为:
1、对称加密
对称加密采用了对称密码编码技术,它的特点是文件加密和解密使用相同的密钥,即加密密钥也可以用作解密密钥,这种方法在密码学中叫做对称加密算法,对称加密算法使用起来简单快捷,密钥较短,且破译困难
2、非对称
1976年,美国学者Dime和Henman为解决信息公开传送和密钥管理问题,提出一种新的密钥交换协议,允许在不安全的媒体上的通讯双方交换信息,安全地达成一致的密钥,这就是“公开密钥系统”。
加密技术的功能:
原有的单密钥加密技术采用特定加密密钥加密数据,而解密时用于解密的密钥与加密密钥相同,这称之为对称型加密算法。采用此加密技术的理论基础的加密方法如果用于网络传输数据加密,则不可避免地出现安全漏洞。
区别于原有的单密钥加密技术,PKI采用非对称的加密算法,即由原文加密成密文的密钥不同于由密文解密为原文的密钥,以避免第三方获取密钥后将密文解密。
以上内容参考:网络—加密技术
㈣ 科普:国产密码算法
密码学(cryptography): 通过将信息编码使其不可读,从而达到安全性。
算法 :取一个输入文本,产生一个输出文本。
加密算法 :发送方进行加密的算法。
解密算法 :接收方进行解密的算法。
对称密钥加密 (Symmetric Key Cryptography):加密与解密使用相同密钥。
非对称密钥加密 (Asymmetric Key Cryptography):加密与解密使用不同密钥。
密钥对 :在非对称加密技术中,有两种密钥,分为私钥和公钥,私钥是密钥对所有者持有,不可公布,公钥是密钥对持有者公布给他人的。
公钥 :公钥用来给数据加密,用公钥加密的数据只能使用私钥解密。
私钥 :如上,用来解密公钥加密的数据。
摘要 :对需要传输的文本,做一个HASH计算。
签名 :使用私钥对需要传输的文本的摘要进行加密,得到的密文即被称为该次传输过程的签名。
密码协议是指两个或两个以上的参与者为了达到某种特定目的而采取的一系列步骤。规定了一系列有序执行的步骤,必须依次执行。必须有两个或两个以上的参与者,有明确的目的。参与者都必须了解、同意并遵循这些步骤。
常见的密码协议包括IPSEC VPN 协议、SSL VPN 协议、密钥交换协议等。
密码是指描述密码处理过程的一组运算规则或规程,一般是指基于复杂数学问题设计的一组运算,其基本原理基于数学难题、可证明计算、计算复杂度等。主要包括:对称密码、公钥密码、杂凑算法、随机数生成。
在对称加密算法中,加密使用的密钥和解密使用的密钥是相同的,加密和解密都是使用同一个密钥,不区分公钥和私钥。
通信双方采用相同的密钥来加解密会话内容,即一段待加密内容,经过同一个密钥的两次对称加密后,与原来的结果一样,具有加解密速度快和安全强度高的优点。
国际算法:DES、AES。
国产算法:SM1、SM4、SM7。
非对称加解密算法又称为 公钥密码 ,其密钥是成对出现的。双方通信时,首先要将密钥对中的一个密钥传给对方,这个密钥可以在不安全的信道中传输;传输数据时,先使用自己持有的密钥做加密,对方用自己传输过去的密钥解密。
国际算法:RSA
国产算法:SM2
优点:
密钥分发数目与参与者数目相同,在有大量参与者的情况下易于密钥管理。
支持数字签名和不可否认性。
无需事先与对方建立关系,交换密钥。
缺点:
速度相对较慢。
可能比同等强度的对称密码算法慢10倍到100倍。
加密后,密文变长。
密码杂凑算法 :又称为散列算法或哈希函数,一种单向函数,要由散列函数输出的结果,回推输入的资料是什么,是非常困难的。
散列函数的输出结果,被称为讯息摘要(message digest)或是 摘要(digest) ,也被称为 数字指纹 。
杂凑函数用于验证消息的完整性, 在数字签名中,非对称算法对数据签名的速度较慢,一般会先将消息进行杂凑运算,生成较短的固定长度的摘要值。然后对摘要值进行签名,会大大提高计算效率 。
国际算法:MD5、SHA1、SHA2、SHA3
国产算法:SM3
2009年国家密码管理局发布的《信息安全等级保护商用密码技术实施要求》中明确规定,一、二、三、四级信息系统应使用商用密码技术来实施等级保护的基本要求和应用要求,一到四级的密码配用策略要求采用国家密码管理部门批准使用的算法。
2010年年底,国家密码管理局公开了SM2、SM3等国产密码算法。
2011年2月28日,国家密码管理局印发的【2011】145号文中明确指出,1024位RSA算法正在面临日益严重的安全威胁,并要求各相关企业在2012年6月30日前必须使用SM2密码算法
国家密码管理局在《关于做好公钥密码算法升级工作的函》中要求2011年7月1日以后建立并使用公钥密码的信息系统,应使用SM2算法;已经建设完成的系统,应尽快进行系统升级,使用SM2算法。
2014年底,国家密码管理局启动《重要信息系统密码应用推进总体研究课题》,确定十三五密码 科技 专项。
2017年11月底,国家密码管理局下发了《政务云密码支撑方案及应用方案设计要点》。
2017年国家密码管理局发布了42项金融和重要领域国产密码应用试点任务。
2018年,中共中央办公厅、国务院办公厅印发《金融和重要领域密码应用与创新发展工作规划(2018-2022年)。
2018年,为指导当时即将启动的商用密码应用安全性评估试点工作,国家密码管理局发布了密码行业标准GM/T0054-2018《信息系统密码应用 基本要求》。
2021年3月,国家市场监管总局、国家标准化管理委员会发布公告,正式发布国家标准GB/T39786-2021《信息安全技术信息系统密码应用基本要求》,该标准于2021年10月1日起实施。
SM1 算法是分组密码算法,分组长度为 128 位,密钥长度都为 128 比特,算法安全保密强度及相关软硬件实现性能与AES相当,算法不公开,仅以IP核的形式存在于芯片中。
算法集成于加密芯片、智能 IC 卡、智能密码钥匙、加密卡、加密机等安全产品,广泛应用于电子政务、电子商务及国民经济的各个应用领域(包括政务通、警务通等重要领域)。
SM2椭圆曲线公钥密码算法是我国自主设计的公钥密码算法,是一种基于ECC算法的 非对称密钥算法, 其加密强度为256位,其安全性与目前使用的RSA1024相比具有明显的优势。
包括SM2-1椭圆曲线数字签名算法,SM2-2椭圆曲线密钥交换协议,SM2-3椭圆曲线公钥加密算法,分别用于实现 数字签名密钥协商 和 数据加密 等功能。
SM3杂凑算法是我国自主设计的密码杂凑算法,属于哈希(摘要)算法的一种,杂凑值为256位,安全性要远高于MD5算法和SHA-1算法。
适用于商用密码应用中的 数字签名 和 验证消息认证码的生成与验证 以及 随机数 的生成,可满足多种密码应用的安全需求。
SM4 分组密码算法 是我国自主设计的分组对称密码算法,SM4算法与AES算法具有相同的密钥长度分组长度128比特,因此在安全性上高于3DES算法。
用于实现数据的加密/解密运算,以保证数据和信息的机密性。软件和硬件加密卡均可实现此算法。
商用密码技术框架包括 密码资源、密码支撑、密码服务、密码应用 等四个层次,以及提供管理服务的密码管理基础设施。
密码资源层: 主要是提供基础性的密码算法资源。
密码支撑层: 主要提供密码资源调用,由安全芯片、密码模块、智能IC卡、密码卡、服务器密码机、签名验签服务器、IPSCE/SSL VPN 等商密产品组成。
密码服务层: 提供密码应用接口,分为对称和公钥密码服务以及其他三大类。
密码应用层: 调用密码服务层提供的密码应用程序接口,实现数据的加解密、数字签名验签等服务。如应用 于 安全邮件、电子印章系统、安全公文传输、移动办公平台、可信时间戳等系统。
密码管理基础设施: 独立组件,为以上四层提供运维管理、信任管理、设备管理、密钥管理等功能。
完整的PKI系统必须具有权威认证机构(CA)、数字证书库、密钥备份及恢复系统(KMC)、证书作废系统(CRL)、应用接口(API)等基本构成部分,构建PKI也将围绕着这五大系统来着手构建。
CA 系统:Ca系统整个PKI的核心,负责证书的签发。CA首先产生自身的私钥和公钥(密钥长度至少为1024位),然后生成数字证书,并且将数字证书传输给安全服务器。、CA还负责为操作员、安全服务器以及注册机构服务器生成数字证书。安全服务器的数字证书和私钥也需要传输给安全服务器。
CA服务器是整个结构中最为重要的部分,存有CA的私钥以及发行证书的脚本文件,出于安全的考虑,应将CA服务器与其他服务器隔离,任何通信采用人工干预的方式,确保认证中心的安全。
(1)甲使用乙的公钥对明文进行加密,生成密文信息。
(2)甲使用HASH算法对明文进行HASH运算,生成数字指纹。
(3)甲使用自己的私钥对数字指纹进行加密,生成数字签名。
(4)甲将密文信息和数字签名一起发送给乙。
(5)乙使用甲的公钥对数字签名进行解密,得到数字指纹。
(6)乙接收到甲的加密信息后,使用自己的私钥对密文信息进行解密,得到最初的明文。
(7)乙使用HASH算法对还原出的明文用与甲所使用的相同HASH算法进行HASH运算,生成数字指纹。然后乙将生成的数字指纹与从甲得到的数字指纹进行比较,如果一致,乙接受明文;如果不一致,乙丢弃明文。
SSL 协议建立在可靠的传输协议(如 TCP)之上,为高层协议提供数据封装,压缩,加密等基本功能。
即可以协商加密算法实现加密传输,防止数据防窃听和修改,还可以实现对端设备身份验证、在这个过程中,使用国密算法进行加密、签名证书进行身份验证、加密证书用于密钥交换
SSL协商过程:
(1)客户端发出会话请求。
(2)服务端发送X.509证书(包含服务端的公钥)。
(3)客户端用已知Ca列表认证证书。
(4)客户端生成随机对称密钥,并利用服务端的公钥进行加密。
(5)双方协商完毕对称密钥,随后用其加密会话期间的用户最终数据。
利用SSL卸载技术及负载均衡机制,在保障通讯数据安全传输的同时,减少后台应用服务器的性能消耗,并实现服务器集群的冗余高可用,大幅度提升整个业务应用系统的安全性和稳定性。此外,借助多重性能优化技术更可缩短了业务访问的响应等待时间,明显提升用户的业务体验。
基于 数字证书 实现终端身份认证,给予密码运算实现本地数据的加密存储,数字证书硬件存储和密码运算由移动终端内置的密码部件提供。
移动应用管理系统服务器采用签名证书对移动应用软件安装包进行签名,移动应用管理系统客户端对签名信息进行验签,保障移动应用软件安装包的真实性和完整性。
移动办公应用系统采用签名证书对关键访问请求进行签名验证。
采用加密证书对关键传输数据和业务操作指令,以及移动终端本地存储的重要数据进行加密保护。
移动办公系统使用商用密码,基于数字证书认证系统,构建覆盖移动终端、网络、移动政务应用的安全保障体系,实现政务移动终端安全、接入安全、传输安全和移动应用安全 。
㈤ 数据在网络上传输为什么要加密现在常用的数据加密算法主要有哪些
数据传输加密技术的目的是对传输中的数据流加密,通常有线路加密与端—端加密两种。线路加密侧重在线路上而不考虑信源与信宿,是对保密信息通过各线路采用不同的加密密钥提供安全保护。
端—端加密指信息由发送端自动加密,并且由TCP/IP进行数据包封装,然后作为不可阅读和不可识别的数据穿过互联网,当这些信息到达目的地,将被自动重组、解密,而成为可读的数据。
数据存储加密技术的目的是防止在存储环节上的数据失密,数据存储加密技术可分为密文存储和存取控制两种。前者一般是通过加密算法转换、附加密码、加密模块等方法实现;后者则是对用户资格、权限加以审查和限制,防止非法用户存取数据或合法用户越权存取数据。
常见加密算法
1、DES(Data Encryption Standard):对称算法,数据加密标准,速度较快,适用于加密大量数据的场合;
2、3DES(Triple DES):是基于DES的对称算法,对一块数据用三个不同的密钥进行三次加密,强度更高;
3、RC2和RC4:对称算法,用变长密钥对大量数据进行加密,比 DES 快;
4、IDEA(International Data Encryption Algorithm)国际数据加密算法,使用 128 位密钥提供非常强的安全性;
5、RSA:由 RSA 公司发明,是一个支持变长密钥的公共密钥算法,需要加密的文件块的长度也是可变的,非对称算法; 算法如下:
首先, 找出三个数,p,q,r,其中 p,q 是两个不相同的质数,r 是与 (p-1)(q-1) 互为质数的数。
p,q,r这三个数便是 private key。接着,找出 m,使得 rm == 1 mod (p-1)(q-1).....这个 m 一定存在,因为 r 与 (p-1)(q-1) 互质,用辗转相除法就可以得到了。再来,计算 n = pq.......m,n 这两个数便是 public key。
6、DSA(Digital Signature Algorithm):数字签名算法,是一种标准的 DSS(数字签名标准),严格来说不算加密算法;
7、AES(Advanced Encryption Standard):高级加密标准,对称算法,是下一代的加密算法标准,速度快,安全级别高,在21世纪AES 标准的一个实现是 Rijndael 算法。
8、BLOWFISH,它使用变长的密钥,长度可达448位,运行速度很快;
9、MD5:严格来说不算加密算法,只能说是摘要算法;
对MD5算法简要的叙述可以为:MD5以512位分组来处理输入的信息,且每一分组又被划分为16个32位子分组,经过了一系列的处理后,算法的输出由四个32位分组组成,将这四个32位分组级联后将生成一个128位散列值。
(5)通讯传输加密算法扩展阅读
数据加密标准
传统加密方法有两种,替换和置换。上面的例子采用的就是替换的方法:使用密钥将明文中的每一个字符转换为密文中的一个字符。而置换仅将明文的字符按不同的顺序重新排列。单独使用这两种方法的任意一种都是不够安全的,但是将这两种方法结合起来就能提供相当高的安全程度。
数据加密标准(Data Encryption Standard,简称DES)就采用了这种结合算法,它由IBM制定,并在1977年成为美国官方加密标准。
DES的工作原理为:将明文分割成许多64位大小的块,每个块用64位密钥进行加密,实际上,密钥由56位数据位和8位奇偶校验位组成,因此只有56个可能的密码而不是64个。
每块先用初始置换方法进行加密,再连续进行16次复杂的替换,最后再对其施用初始置换的逆。第i步的替换并不是直接利用原始的密钥K,而是由K与i计算出的密钥Ki。
DES具有这样的特性,其解密算法与加密算法相同,除了密钥Ki的施加顺序相反以外。
参考资料来源:网络-加密算法
参考资料来源:网络-数据加密
㈥ 短波通信网络及加密技术
短波通信网络及加密技术
摘 要:短波通信网具有无中心自组织、无线传输带宽有限、分布式控制等特征,同时节点本身具有局限性,体现在无线节点的存储、计算以及通信能力上。我们需要将短波通信的认证、加密、密钥管理以及访问控制等安全措施考虑在内。
本论文在密码学的理论基础上,针对短波通信的结构特点及应用需求,对短波通信加密技术进行了研究和实现。
关键词:短波;加密;通信
1 短波通信的发展现状
短波通信就是指不建立中继站通过天波的电离层反射来实现的远距离通信,并且在一定的频率范围内实现的高频通信。
短波通信正是由于电离层的不可摧毁性才成为了军事指挥的重要手段之一。由于短波通信在军事通信上的不可替代性,从20世纪80年代初,短波通信进入了复兴和发展的新时期。随着技术的进步,许多的国家改进设备,改进系统来加速对短波的研究。
对于短波通信的一些缺点,我们已经找到了一些克服和改进的办法。
稳定性、可靠性、通信质量和通信速率是短波通信的一些特性,在这些方面,世界各国都在积极研究发展,已经达到了一个新的水平,需要其他领域进一步的拓展。
2 短波通信的优缺点
1.优点:
①.一旦发生战争或灾害,各种通信网络都可能受到破坏,卫星也可能受到攻击.在各种通信方式中,短波所具有的优势就是不受网络枢钮和有源中继体制的制约。
②.在超短波覆盖不到的地方,比如山区、戈壁、海洋等地区,主要依靠短波实现通信;
③短波通信具有卫星通信所不具备的有点,比如不用支付话费,运行成本低.
2.缺点:
①.可供使用的频段窄,通信容量小
国际规定每个短波电台占用3.7KHZ的频段宽度,而整个波段的频带宽度才28.5MHZ,为了避免相互间的干扰,全球只有7700多个可用短波信道,每个信道3.7KHZ的现有带宽大幅制约了提高信道容量和数据传输速率.
②.信道差
地波是短波传播的基本途径之一,短波的地波信号可以沿海面传播1000公里左右,由于海水介质的电导特性,海面介质成为了船舶的最佳方式。然而陆地表面介质电导特性差且对电波衰耗大,电波的衰耗程度对不同的陆地表面介质而不同.
短波信号沿地面最多只能传播几十公里.与天波传播不同,地波传播不需要经常的改变工作频率,但要将障碍物的阻挡考虑在内。电离层会产生变化,在高度和密度方面可能会受昼夜、季节、气候等因素的影响,产生一些不良的后果,比如噪声较大等。
短波的主要传播途径是天波。天波是不稳定的传播,其原理见到那来说就是电离层和地面将信号来回反射的过程。这个短波信号通过天线发出的,并且不受地面障碍物阻挡,传播距离也不受限制。但天波在传播过程中,也会产生一些影响通信效果的因素,后果就是造成信号的弱化和畸变等等。
③.大气和工业无线电噪声干扰严重
工业电磁辐射的无线电噪声干扰在短波频段的平均强度很高,此外,大气无线电噪声和无线电台间的干扰,尤其是脉冲型突发噪声,使短波通信的质量深受影响,常会使数据传输发生严重错误,影响通信质量.
3 短波语音传输加密
在我国,短波语音通信的主要设备就是对讲机。我们要实现加密技术的'最终目的就是为了在语音信道中传输加密信号,这种信号不被第三方所知。即使采用同一技术的通信设备,也不会被通信设备的双方在通信过程中容纳以合法身份进入。总的来说,我们要实现的短波语音传输加密技术要以实用性、保密性、安全性、可靠性和先进性作为其研究的主题。
我们所要实现的短波语音加密技术采用软硬件并重的方式,在硬件上,采用我们自行研究开发的保密电子线路。
软件上,采用自行设计开发的融入了加密算法和密钥管理的计算机汇编程序,可以不定期的对软硬件进行更新换代,这样实现的目的有其十分明显的优点,即使有人从硬件上了解了加密的基本思路,但是软件仍然有一层保障,因为对硬件信号的加脱密控制都是由软件来实现的,这样就可以防止其接触到具体的加密技术方案。
硬件加密线路主要采用DSP处理器芯片、加密算法芯片和语音加脱密芯片来实。在硬件上不仅要实现加脱密处理的功能,同时为了防止原有的语音信号失真,在整个加脱密线路中增添了许多滤波、整流、功率放大和噪声干扰的功能模块。
软件实现主要从身份认证、加密和脱密、密钥管理等来实现的。其中,在机密中,通信双方身份互相确认后,要传送的一方把语音信号模/数转换后利用核心加密算法做加密处理。接收的一方把线路中传输的普通语音信号中的模/数转化后做脱密处理,并且用于加密的密钥和脱密的密钥不能相通。
4 短波通信系统网络向第三代全自适应网络方向发展
在通信技术飞速发展的今天,短波通信必须与网络互通,与系统兼容来实现其自身的发展。短波通信也要建立一个完善的系统,保证其高效、可靠并且抗干扰性强等。我们要改变传统的短波通信方式带来的缺点,它在如何实时选频以及频率复用等问题还需要进一步的探究。
军事通信领域是国家的重点保护领域,世界发达国家没有停止过对短波通信技术的研究。短波通信领域仍然不断取得重大技术突破,推动着短波通信技术的发展。现如今,我们进入了信息时代,更要拓展短波通信领域来发展我国通信。
基于以上我们对短波通讯的阐述,更加确定了短波通讯在现代中的地位。我们所论及的信息安全技术,一直是世界各国政府高度重视其研究和应用的高科技领域,随着世界科技的蓬勃发展,不易破译的信息安全技术正是社会的广泛需求。
参考文献
[1] 王炳锡.变速率语音编码[M].西安:西安电子科技大学出版社,2004
[2] 姚天任.数字语音编码[M].北京:电子工业出版社,2001
[3] 胡中豫.现代短波通信[M].北京:国防工业出版社,2005
㈦ 什么是SSL加密,什么是TLS加密
SSL加密的英文全称是Secure Socket Layer,翻译过来就是安全套接层。
它是在传输通信协议(TCP/IP)上实现的一种网络安全协议,广泛支持各种类型的网络,并同时提供三种网络基本安全服务,而且这三种服务都是使用公开密钥技术。
TLS加密的英文全称是Transport Layer Security,翻译过来就是安全传输层协议。
TLS是用于在两个通信应用程序之间,为通信提供保密性和数据完整性。这个协议一共有两层,分别是记录协议和握手协议。通过这个协议可以对网站、网络传真、电子邮件等数据传输进行加密、保密。
(7)通讯传输加密算法扩展阅读:
1、SSL
SSL协议优势
SSL协议的优势在于它是与应用层协议独立无关的。
高层的应用层协议(例如:HTTP、FTP、Telnet等等)能透明的建立于SSL协议之上。SSL协议在应用层协议通信之前就已经完成加密算法、通信密钥的协商以及服务器认证工作。在此之后应用层协议所传送的数据都会被加密,从而保证通信的私密性。
SSL体系结构
SSL被设计成使用TCP来提供一种可靠的端到端的安全服务,不是单个协议,而是二层协议。
低层是SSL记录层,用于封装不同的上层协议,另一层是被封装的协议,即SSL握手协议,它可以让服务器和客户机在传输应用数据之前,协商加密算法和加密密钥,客户机提出自己能够支持的全部加密算法,服务器选择最适合它的算法。
2、TLS
优势
TLS协议的优势是与高层的应用层协议(如HTTP、FTP、Telnet等)无耦合。
应用层协议能透明地运行在TLS协议之上,由TLS协议进行创建加密通道需要的协商和认证。应用层协议传送的数据在通过TLS协议时都会被加密,从而保证通信的私密性。
TLS协议是可选的,必须配置客户端和服务器才能使用。
主要有两种方式实现这一目标:一个是使用统一的TLS协议通信端口(例如:用于HTTPS的端口443);另一个是客户端请求服务器连接到TLS时使用特定的协议机制(例如:邮件、新闻协议和STARTTLS)。
算法
在客户端和服务器开始交换TLS所保护的加密信息之前,他们必须安全地交换或协定加密密钥和加密数据时要使用的密码。
参考资料来源:网络-SSL安全套接层
参考资料来源:网络-TLS安全传输层
㈧ 在对信息进行加密时,对称密码算法适合处理什么类型的信息
对称密码算法,又称对称加密算法,是一种加密和解密过程中使用相同密钥的加密算法。由于对称加密算法的计算速度快且加密效率较高,它通常适合处理以下类型的信息:
1. 大量数据卖判:对于需要加密大量数据的场景,如文件存储、数据库加密等,对称加密算法是一个很好的选择。由于其加密和解密速度快,对称加密算法可以在很短的时间内处理大量数据,降低系统的延迟。
2. 实时通信:在实时通信场景中,如语音通话、即时消息等,对称锋孝加密算法可以提供低延迟的加密解密服务。这有助银配稿于保持实时通信的流畅性和用户体验。
3. 传输层安全:在网络传输中,对称加密算法可以确保数据的安全性和完整性。例如,传输层安全协议(TLS)就使用了对称加密算法来加密客户端和服务器之间的通信数据。
然而,对称加密算法的一个缺点是密钥管理问题。在数据传输过程中,双方需要共享相同的密钥。密钥的传输和管理可能带来安全隐患。为解决这个问题,通常采用非对称加密算法(如RSA)在安全信道上交换对称加密密钥,之后使用对称加密算法进行数据加密。这种组合方式充分发挥了对称加密算法和非对称加密算法的优势,实现了高效且安全的数据加密通信。
㈨ 计算机中的通信加密方式有哪些.
加密方式芦旅做很多,比如:SET协议,SSL协议,PGP加密,IPSec协议等等!我镇洞们听说最多的可能就算法加密,通过一定的算法将文件打乱发送,收到后通过算法将其还陪衡原,算法也有很多种,比如:对称加密算法,非对称算法,散列算法等!
㈩ 通信安全:哈希、加密、证书、签名、密钥协商、ECDH、TLS、DTLS
哈希也叫散列,是把任意长度的输入通过散列算法变换成固定长度的输出,该输出就是散列值,也叫摘要(Digest)。
这种转换是一种 压缩映射。 也就是,散列值的空间通常远小于输入的空间,不同的输入可能会散列成相同的输出,所以不可能从散列值来确定唯一的输入值,但如果输出的位数足够,不同输入散列成相同输出的概率非常非常小。
简单的说, 散列就是一种将任意长度的消息压缩到某一固定长度的消息摘要的过程 。
散列是不可逆的 ,也就是无法通过输出还原输入,此特性常被用于密码保存。
SHA-512、MD5等都是着名的散列函数,MD5生成的散列码是128位,甚至MD5就是哈希的同名词,你可以通过网站:https://passwordsgenerator.net/sha512-hash-generator/ 在线计算哈希。
散列有什么用?
加密就是把 明文变成密文的过程,解密就是反方向把密文变成明文 。
比如着名的 凯撒密码 ,就是把每个字对应到另一个,这样的话,只要有密码本,就能对照完成加解密。比如最简单的,对于英文26个字母,每个字母右移3个,abc变成def,这也是一种加密,当然这种加密很简单,很容易被破译。
而诸如AES(高级加密标准)、3DES(三重数据加密算法)则被公认为很难破解,不过山东大学女教授王小云很厉害,破解了MD5和SHA-1,迫使加密标准升级,最终当上了院士。
对称加密
对称加密就是加解密的密钥是一样的,优点是快,这也是传统的加密方式,像AES、3DES都是对称加密。
非对称加密
非对称加密用于加解密的密钥不一样,有2个密钥,公钥和私钥,公钥可以公开,私钥妥善保管。RSA、ECC(椭圆曲线加密算法)、DH(密钥交换算法)这些都是非对称加密。
非对称加密很慢,有多慢?相比对称加密慢1000倍,因为慢,所以它常用于密钥协商(Handshake),协商出会话密钥后,再用对称密钥加密通信数据。
1976年,Whitfield Diffie和Martin Hellman首次提出了非对称加密的概念,该算法被称为Diffie-Hellman密钥交换。然后在1978年,麻省理工学院的Ron Rivest,Adi Shamir和Leonard Adleman发表了RSA 算法。这些都可以被视为非对称加密的基础。
非对称加密也称为公钥基础结构,又称PKI。 非对称加密的提出是密码学上的一次革命,影响深远。
非对称加密算法用私钥加密,用公钥解密,或者用公钥加密,用私钥解密。
证书就是为了证明我是我,比如你要访问中国银行网站,但中行官网如何证明它是中行官网呢?答案就是数字证书。
CA是数字证书中心,服务器需要找CA做认证,让CA给自己颁布数字证书,数字证书内一般包含服务的一些信息、以及服务器的公钥,通过CA的私钥加密后,产生的数字证书,因为CA的权威性,且它的公钥天下皆知,所以,如果你能用CA的公钥解开证书,那便可证明该证书一定是CA颁发的,要不然它不会有CA的私钥,也便没法产生可用CA公钥解密的证书。
所以,由此可见,数字证书用到了非对称加密。
日常生活中也有签名,每个人的笔迹是不一样的,你刷卡消费后在账单签上大名,服务员校验过之后保存下来,你哪天赖账,便可以有签名为证,因为别人写的字跟你的笔迹终有差别。
那数字签名是什么呢?比如a发一封email,接收方怎么证明这封信是a写的?
本质上,数字签名也是利用了非对称加密。
前面讲了,非对称加密有公钥和私钥,如果发生方用私钥加密,然后接收方用发送方的公钥可以解密,那便可以证明是从某发送方发送的,因为别人拿不到你的私钥,也便无法用你的私钥加密,你不能抵赖。
数字签名通常先对内容算哈希,产生内容摘要,再用私钥加密,得到签名。
下面举一个例子来说明这几个问题:
张三有2把钥匙,一把公钥,公告天下,一把私钥,妥善保管,只有自己知道,很明显,非对称加密。
李四给张三写信,写完之后,用张三的公钥加密,通过邮局寄给张三,即使邮递员拆开信封看,他也看不懂,因为内容是密文,只有张三的密钥才能解密。
张三收到信后,用私钥解密,可以正常阅读。
现在张三要给李四回信,写完后,用hash函数生成摘要digest。
然后张三,再用私钥对摘要加密,生成数字签名signature。
然后把签名附在信的下面,一起发给李四。
过程是:信明文 -> hash -> digist -> 私钥加密 -> signature。
李四收到回信后,用张三的公钥对数字签名解密,得到摘要,由此证明,信确实是张三发出的,为什么?因为如果不是张三发的,那写信的人就没有张三私钥,用别的私钥加密得到的签名,是无法用张三的公钥解开的。
李四,再对信的内容做hash,得到摘要,与上一步得到的摘要对比,如果一致,则证明信的内容没有被修改过,信的内容是完整的。
复杂的情况出现了。
王五,用自己的公钥替换李四保存的张三的公钥,也就是王五欺骗了李四,李四误把王五的公钥当张三的公钥,这样一来,王五就能冒充张三给李四写信(王五用自己的私钥加密)。
问题是什么?问题是李四不能确信自己保存的公钥真的是张三的公钥。如果客户端电脑上存的工商银行官网的公钥,实际上是骗子公司的公钥,那就麻烦大了。
怎么破?让张三去认证中心CA(Certificate Authority),为公钥做认证,怎么做呢?CA中心用自己的私钥,对张三的公钥和其他相关信息一起加密,生成数字证书(Digital Certificate)。
张三拿到数字证书后,以后给李四回信,在签名的同时,附带上数字证书。
李四收到信之后,从CA的公钥解开数字证书,取出张三的公钥(一定是真的),然后就能放心的愉快的按之前的流程解开签名了。
数字证书加入后,核心区别就是张三的公钥不再保存在李四处,而是通过数字证书下发。
为什么数字证书里的张三的公钥一定是真的呢?因为CA是权威机构,假设全世界就一家(其实不止,但也不多),它的公钥天下尽知,就是固定的串,所以能用CA公钥解开的证书,一定是CA颁布的,因为CA用它的私钥加密产生的证书。很明显,非对称加密能用于证明我是我。
密钥交换算法
着名的DH密钥交换算法,这个算法很有意思,也很巧妙,简而言之,就是通信双方交换一点信息(不怕被偷看到),然后就在两端,分布产生出一个相同的密钥,神奇啊。
有一个很有意思的例子。
Alice和Bob要协商出一个公共的颜色,他们可以交换信息,但交换的信息,可以被偷看到,怎么办?既能协商出公共颜色,又不能让别人知道呢。
密钥交换算法的原理跟这个差不多,网上有大量的资料讲述这个问题,我觉得理解了上面的例子,再看ECDH便也不难了。
众所周知http是互联网协议,但是它不够安全,所以后面有改进版的https,其实就是多了一个TLS,这个是传输层加密,本质上,就是通过handshake,协商出一个会话密钥,后面的数据传递,都用这个密钥做对称加解密。
我们经常讲安全通道,其实也就是协商出一个会话密钥,他并不神秘。胡乱放几张图片吧。
为了减少这几个RTT,又想了各种办法,然后复用连接的话,就可以做到0RTT,1RTT了。
就说这些吧,最后抛几个名词,有兴趣自行网络学习:DTLS,HMAC,AEAD,重放攻击,放大攻击,是不是很高端?