快速了解常用的对称加密算法,再也不用担心面试官的刨根问底

加密算法通常被分为两种: 对称加密 非对称加密 。其中,对称加密算法在加密和解密时使用的密钥相同;非对称加密算法在加密和解密时使用的密钥不同,分为公钥和私钥。此外,还有一类叫做 消息摘要算法 ,是对数据进行摘要并且不可逆的算法。

这次我们了解一下对称加密算法。

对称加密算法在加密和解密时使用的密钥相同,或是使用两个可以简单地相互推算的密钥。在大多数的对称加密算法中,加密和解密的密钥是相同的。

它要求双方在安全通信之前,商定一个密钥。对称算法的安全性依赖于密钥,泄漏密钥就意味着任何人都可以对他们发送的信息进行解密,这也是对称加密算法的主要缺点之一。

常见的对称加密算法有:DES算法、3DES算法、AES算法。

DES算法(Data Encryption Standard)是一种常见的分组加密算法。

分组加密算法是将明文分成固定长度的组,每一组都采用同一密钥和算法进行加密,输出也是固定长度的密文。

由IBM公司在1972年研制,1976年被美国联邦政府的国家标准局确定为联邦资料处理标准(FIPS),随后在国际上广泛流传开来。

在DES算法中,密钥固定长度为64位。明文按64位进行分组,分组后的明文组和密钥按位置换或交换的方法形成密文组,然后再把密文组拼装成密文。

密钥的每个第八位设置为奇偶校验位,也就是第8、16、24、32、40、48、56、64位,所以密钥的实际参与加密的长度为56位。

我们用Java写个例子:

运行结果如下:

DES现在已经不是一种安全的加密方法,主要因为它使用的密钥过短,很容易被暴力破解。

3DES算法(Triple Data Encryption Algorithm)是DES算法的升级版本,相当于是对明文进行了三次DES加密。

由于计算机运算能力的增强,DES算法由于密钥长度过低容易被暴力破解;3DES算法提供了一种相对简单的方法,即通过增加DES的密钥长度来避免类似的攻击,而不是设计一种全新的块密码算法。

在DES算法中,密钥固定长度为192位。在加密和解密时,密钥会被分为3个64位的密钥。

加密过程如下:

解密过程如下:

我们用Java写个例子:

运行结果如下:

虽然3DES算法在安全性上有所提升,但是因为使用了3次DES算法,加密和解密速度比较慢。

AES(Advanced Encryption Standard,高级加密标准)主要是为了取代DES加密算法的,虽然出现了3DES的加密方法,但由于它的加密时间是DES算法的3倍多,密钥位数还是不能满足对安全性的要求。

1997年1月2号,美国国家标准与技术研究院(NIST)宣布希望征集高级加密标准,用以取代DES。全世界很多密码工作者都提交了自己设计的算法。经过甄选流程,高级加密标准由美国国家标准与技术研究院于2001年11月26日发布于FIPS PUB 197,并在2002年5月26日成为有效的标准。

该算法为比利时密码学家Joan Daemen和Vincent Rijmen所设计,结合两位作者的名字,以 Rijndael 为名投稿高级加密标准的甄选流程。

AES算法的密钥长度是固定,密钥的长度可以使用128位、192位或256位。

AES算法也是一种分组加密算法,其分组长度只能是128位。分组后的明文组和密钥使用几种不同的方法来执行排列和置换运算形成密文组,然后再把密文组拼装成密文。

我们用Java写个例子:

运行结果如下:

AES算法是目前应用最广泛的对称加密算法。

对称加密算法在加密和解密时使用的密钥相同,常见的对称加密算法有:DES算法、3DES算法、AES算法。
由于安全性低、加密解密效率低,DES算法和3DES算法是不推荐使用的,AES算法是目前应用最广泛的对称加密算法。



  • 蹇熶簡瑙e父鐢ㄧ殑瀵圭О鍔犲瘑绠楁硶,鍐涔熶笉鐢ㄦ媴蹇冮潰璇曞畼鐨勫埁鏍归棶搴
    绛旓細1銆佸绉板姞瀵嗙畻娉曠敤鏉ュ鏁忔劅鏁版嵁绛変俊鎭繘琛鍔犲瘑锛甯哥敤鐨勭畻娉曞寘鎷細DES锛圖ataEncryptionStandard锛夛細鏁版嵁鍔犲瘑鏍囧噯锛岄熷害杈蹇紝閫傜敤浜庡姞瀵嗗ぇ閲忔暟鎹殑鍦哄悎銆2銆甯歌鐨勫绉板姞瀵嗙畻娉鏈夛細DES鈥斺斿瘑閽ョ煭锛屼娇鐢ㄦ椂闂撮暱锛岀‖浠惰绠楀揩浜庤蒋浠躲侷DEA鈥斺斾釜浜轰娇鐢ㄤ笉鍙椾笓鍒╅檺鍒讹紝鍙姷鎶楀樊鍒嗘敾鍑伙紝鍩轰簬涓変釜缇ゃ侫ES鈥斺斿彲鍙樺瘑閽ラ暱...
  • 蹇熶簡瑙e父鐢ㄧ殑瀵圭О鍔犲瘑绠楁硶,鍐涔熶笉鐢ㄦ媴蹇冮潰璇曞畼鐨勫埁鏍归棶搴
    绛旓細甯歌鐨勫绉板姞瀵嗙畻娉鏈夛細DES绠楁硶銆3DES绠楁硶銆丄ES绠楁硶銆侱ES绠楁硶锛圖ata Encryption Standard锛夋槸涓绉嶅父瑙佺殑鍒嗙粍鍔犲瘑绠楁硶銆傚垎缁勫姞瀵嗙畻娉曟槸灏嗘槑鏂囧垎鎴愬浐瀹氶暱搴︾殑缁勶紝姣忎竴缁勯兘閲囩敤鍚屼竴瀵嗛挜鍜岀畻娉曡繘琛屽姞瀵嗭紝杈撳嚭涔熸槸鍥哄畾闀垮害鐨勫瘑鏂囥傜敱IBM鍏徃鍦1972骞寸爺鍒讹紝1976骞磋缇庡浗鑱旈偊鏀垮簻鐨勫浗瀹舵爣鍑嗗眬纭畾涓鸿仈閭﹁祫鏂欏鐞嗘爣鍑嗭紙FI...
  • 瀵圭О瀵嗙爜绠楁硶鐨勫姞瀵鍜岃В瀵嗗瘑閽ヤ笉鐩稿悓
    绛旓細蹇熶簡瑙e父鐢ㄧ殑瀵圭О鍔犲瘑绠楁硶,鍐涔熶笉鐢ㄦ媴蹇冮潰璇曞畼鐨勫埁鏍归棶搴1銆佸绉板姞瀵嗙畻娉曠敤鏉ュ鏁忔劅鏁版嵁绛変俊鎭繘琛屽姞瀵嗭紝甯哥敤鐨勭畻娉曞寘鎷細DES锛圖ataEncryptionStandard锛夛細鏁版嵁鍔犲瘑鏍囧噯锛岄熷害杈冨揩锛岄傜敤浜庡姞瀵嗗ぇ閲忔暟鎹殑鍦哄悎銆2銆佸父瑙佺殑瀵圭О鍔犲瘑绠楁硶鏈夛細DES鈥斺斿瘑閽ョ煭锛屼娇鐢ㄦ椂闂撮暱锛岀‖浠惰绠楀揩浜庤蒋浠躲侷DEA鈥斺斾釜浜轰娇鐢ㄤ笉鍙...
  • 甯歌鐨勫绉板姞瀵嗙畻娉鏈夊摢浜
    绛旓細甯歌鐨勫绉板姞瀵嗙畻娉鏈夛細AES锛堥珮绾у姞瀵嗘爣鍑嗭級銆丏ES锛堟暟鎹姞瀵嗘爣鍑嗭級銆乀riple DES锛堜笁閲嶆暟鎹姞瀵嗙畻娉曪級鍜孯C4绛夈瀵圭О鍔犲瘑绠楁硶锛涔熻绉颁负绉樺瘑瀵嗛挜鍔犲瘑绠楁硶锛岃繖绉嶅姞瀵嗘柟寮忕殑鐗圭偣鏄姞瀵嗗拰瑙e瘑杩囩▼閮戒娇鐢ㄥ悓涓涓瘑閽ャ備互涓嬪鍚勭甯歌瀵圭О鍔犲瘑绠楁硶杩涜绠瑕佽В閲婏細AES锛堥珮绾у姞瀵嗘爣鍑嗭級AES鏄洰鍓嶄娇鐢ㄦ渶骞挎硾鐨勫绉板姞瀵嗙畻娉...
  • 瀵圭О鍔犲瘑绠楁硶鏈夊摢浜
    绛旓細甯歌鐨勫绉板姞瀵嗙畻娉鏈夛細DES鈥斺斿瘑閽ョ煭锛屼娇鐢ㄦ椂闂撮暱锛岀‖浠惰绠蹇浜庤蒋浠躲侷DEA鈥斺斾釜浜轰娇鐢ㄤ笉鍙椾笓鍒╅檺鍒讹紝鍙姷鎶楀樊鍒嗘敾鍑伙紝鍩轰簬涓変釜缇ゃ侫ES鈥斺斿彲鍙樺瘑閽ラ暱锛屽彲鍙樺垎缁勯暱銆備互涓婁笁涓睘浜庡潡寮忥紝鏄庢枃鎸夊垎缁勫姞瀵嗐傚父瑙佺殑瀵圭О鍔犲瘑绠楁硶鏈夛細DES绠楁硶銆3DES绠楁硶銆丄ES绠楁硶銆侱ES绠楁硶锛圖ataEncryptionStandard锛夋槸涓绉嶅父瑙佺殑...
  • 瀵圭О鍔犲瘑绠楁硶
    绛旓細甯哥敤鐨鍗曞悜鍔犲瘑绠楁硶锛1銆丏ES锛圖ata Encryption Standard锛夛細鏁版嵁鍔犲瘑鏍囧噯锛岄熷害杈蹇紝閫傜敤浜庡姞瀵嗗ぇ閲忔暟鎹殑鍦哄悎銆2銆3DES锛圱riple DES锛夛細鏄熀浜嶥ES锛屽涓鍧楁暟鎹敤涓変釜涓嶅悓鐨勫瘑閽ヨ繘琛屼笁娆″姞瀵嗭紝寮哄害鏇撮珮銆3銆丄ES锛圓dvanced Encryption Standard锛夛細楂樼骇鍔犲瘑鏍囧噯锛屾槸涓嬩竴浠g殑鍔犲瘑绠楁硶鏍囧噯锛岄熷害蹇紝瀹夊叏绾у埆...
  • 瀵圭О鍔犲瘑绠楁硶鏈夊摢浜
    绛旓細甯哥敤鐨勫绉板姞瀵嗙畻娉鏈塂ES銆3DES銆両DEA銆1銆丏ES DES鏄編鍥藉浗瀹舵爣鍑嗗拰鎶鏈眬锛圢IST锛夊湪1977骞存墠鏈夌殑鏁版嵁鍔犲瘑鏍囧噯锛孌ES鐨勬濊矾灏辨槸鍙傜収浜屾垬鏃舵湡鐩熷啗缂磋幏鐨勫痉鍐涙仼鏍肩帥鍔犲瘑鏈猴紝褰撶劧鏇翠负澶嶆潅鍜屼弗璋紝鏂囦欢缂栧彿涓篎IPS PUB46銆2銆3DES 鏈鍒濇槸鐢盩uchman鎻愬嚭鐨勶紝鍦1985骞寸殑ANSI鏍囧噯X9.17涓涓娆′负閲戣瀺搴旂敤杩涜浜...
  • 瀵圭О鍔犲瘑绠楁硶鏈夊摢浜
    绛旓細瀵圭О鍔犲瘑绠楁硶鐢ㄦ潵瀵规晱鎰熸暟鎹瓑淇℃伅杩涜鍔犲瘑锛屽父鐢ㄧ殑绠楁硶鍖呮嫭锛1銆丏ES绠楁硶锛氭暟鎹姞瀵嗘爣鍑嗭紝閫熷害杈蹇紝閫傜敤浜庡姞瀵嗗ぇ閲忔暟鎹殑鍦哄悎銆2銆3DES绠楁硶锛氭槸鍩轰簬DES锛屽涓鍧楁暟鎹敤涓変釜涓嶅悓鐨勫瘑閽ヨ繘琛屼笁娆″姞瀵嗭紝寮哄害鏇撮珮銆3銆丄ES绠楁硶锛氶珮绾у姞瀵嗘爣鍑嗭紝鏄笅涓浠g殑鍔犲瘑绠楁硶鏍囧噯锛岄熷害蹇紝瀹夊叏绾у埆楂樸傚绉板姞瀵嗙畻娉曪細鏄...
  • 瀵圭О鍔犲瘑绠楁硶鐨鍔犲瘑绠楁硶涓昏鏈夊摢浜
    绛旓細1銆3DES绠楁硶 3DES锛堝嵆Triple DES锛夋槸DES鍚慉ES杩囨浮鐨勫姞瀵嗙畻娉曪紙1999骞达紝NIST灏3-DES鎸囧畾涓鸿繃娓$殑鍔犲瘑鏍囧噯锛夛紝鍔犲瘑绠楁硶锛鍏跺叿浣撳疄鐜板涓嬶細璁綞k()鍜孌k()浠h〃DES绠楁硶鐨鍔犲瘑鍜岃В瀵嗚繃绋嬶紝K浠h〃DES绠楁硶浣跨敤鐨勫瘑閽ワ紝M浠h〃鏄庢枃锛孋浠h〃瀵嗘枃锛杩欐牱锛3DES鍔犲瘑杩囩▼涓猴細C=Ek3(Dk2(Ek1(M)))3DES瑙e瘑杩囩▼涓猴細M=Dk1...
  • 鍝簺鏄瀵圭О鍔犲瘑绠楁硶
    绛旓細1. AES锛堥珮绾у姞瀵嗘爣鍑嗭級锛氳繖鏄洰鍓嶅箍娉涗娇鐢鐨勫绉板姞瀵嗙畻娉涔嬩竴銆傚畠浣跨敤鍥哄畾鐨勫瘑閽ユ潵鍔犲瘑鍜岃В瀵嗘暟鎹紝骞朵笖鑳戒繚璇佹暟鎹殑瀹夊叏鎬у拰淇濆瘑鎬с傜敱浜庡叾楂樻晥鐨勬ц兘鍜岃壇濂界殑瀹夊叏鎬э紝AES宸茬粡鏇夸唬DES鎴愪负浜嗗緢澶氱郴缁熷拰搴旂敤鐨勬爣鍑嗗姞瀵嗙畻娉曘2. DES锛堟暟鎹姞瀵嗘爣鍑嗭級锛氳繖鏄渶鏃╄骞挎硾浣跨敤鐨勫绉板姞瀵嗙畻娉曚箣涓銆傚畠閫氳繃澶嶆潅鐨...
  • 扩展阅读:扫一扫题目出答案 ... 非对称加密有哪几种 ... 10种常用的加密算法 ... 简单加密解密算法 ... 对称加密流程图 ... 常用的四种加密方式 ... 十大常见密码加密方式 ... 对称加密算法视频 ... 常见的三种简单加密算法 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网