close


AES aka Rijndael加密法!!!
而... Rijndael的發音近於"Rhine doll" (萊茵河娃娃)~~~
AES經過五年的甄選: (AES vs Serpent vs Twofish vs MARS vc RC6)
由NIST(美國國家標準與技術研究院)於2001年11月26日發佈!
@ FIPS PUB 197(聯邦資料處理標準),並在2002年5月26日成為有效的標準!!!
AES Crib Sheet

(
這張手繪圖堪稱AES的精隨~ 可以幫助記憶與理解...)
而... Rijndael的發音近於"Rhine doll" (萊茵河娃娃)~~~

由NIST(美國國家標準與技術研究院)於2001年11月26日發佈!
@ FIPS PUB 197(聯邦資料處理標準),並在2002年5月26日成為有效的標準!!!
AES Crib Sheet

(

Designers |
Vincent Rijmen, Joan Daemen |
---|---|
First published | 1998 |
Derived from | Square |
Successors | Anubis, Grand Cru |
Certification | AES winner, CRYPTREC, NESSIE, NSA |
Cipher detail | |
Key sizes | 128, 192 or 256 bits |
Block sizes | 128 bits |
Structure | Substitution-permutation network |
Rounds | 10, 12 or 14 (depending on key size) |
雖然... Symmetric Encryption概念簡單到爆!!!
而... AES就是基於Symmetric Encryption概念所設計來的演算法!!!
而... AES就是基於Symmetric Encryption概念所設計來的演算法!!!
然而... AES其實作一點都不簡單!!!
@ 取代(substitution)/置換(transposition)/相乘(Product)通通都得運用上!
@ 取代(substitution)/置換(transposition)/相乘(Product)通通都得運用上!

Big Idea #1: Confusion(混亂性) (把你拷糊塗... 讓你猜不透...)

Big Idea #2: Diffusion(擴張性) (牽一髮而動全身的概念)

Big Idea #3: Secrecy Only in the Key!!!


Big Idea #2: Diffusion(擴張性) (牽一髮而動全身的概念)

Big Idea #3: Secrecy Only in the Key!!!


Combo™必須借用谷歌大神 + Wiki百科來理解AES的運作原理~
How Does AES Work?
蹲馬步 @ AES演算法四大基本步驟:
1.) AddRoundKey: 基本上就是互斥或運算 (⊕)


AES ❤ XOR

2.) SubBytes: S-Box查表

► S-Box (Substitution-Box)
(左) S-Box Lookup Table (右) Inv S-Box Lookup Table


3.) ShiftRows: 乾坤大挪移
AES_ShiftRowTab[] = { 0,5,10,15,4, 9,14,3,8,13,2,7,12,1,6,11 };



4.) MixColumns: 合而為一
▩ a'(x)=a(x)⊗c(x)
a'0,c = ({02}•a0,c) ⊕ ({03}•a1,c) ⊕ a2,c ⊕ a3,c
a'1,c = a0,c ⊕ ({02}•a1,c) ⊕ ({03}•a2,c) ⊕ a 3,c
a'2,c = a0,c ⊕ a1,c ⊕ ({02}•a2,c) ⊕ ({03}•a3,c)
a'3,c = ({03}•a0,c) ⊕ a1,c ⊕ a2,c ⊕ ({02}•a3,c)



(

The Laws of Cryptography: AES Key Expansion
AES Key Expansion = Rijndael Key Schedule

Flash Video Describing the AES key schedule:
http://www.formaestudio.com/rijndaelinspector/archivos/Rijndael_Animation_v4_eng.swf
(A) Encryption Process @ Page 4
(B) Key Schedule @ Page 14
@ Youtube
@ AES Encryption 1: Intro and Outline

Flash Video Describing the AES key schedule:
http://www.formaestudio.com/rijndaelinspector/archivos/Rijndael_Animation_v4_eng.swf
(A) Encryption Process @ Page 4
(B) Key Schedule @ Page 14
@ Youtube
@ AES Encryption 1: Intro and Outline
Encryption Process:
Flash Video Describing the AES key schedule @ Page 4


Key Expansion:
Flash Video Describing the AES key schedule @ Page 14






11, 13, 15 rounds for 128, 192, 256 bits keys
- First Round
- Main Regular Rounds (9, 11, 13)
- Final Round (10th, 12th, 14th)

AES-128 = Expansion of the given Cipher key into 11 partial keys
(Initial round + 9 main rounds + final round)
AES-192 = Expansion of the given Cipher key into 13 partial keys
(Initial round + 11 main rounds + final round)
AES-256 = Expansion of the given Cipher key into 15 partial keys
(Initial round + 13 main rounds + final round)
(⊕) xor with "Round Constant":
RCON[i]=[Rcon[i],00,00,00] ; xi−1 (for i from 0 to 255)

RCON [0] = 0x8d is not used in AES algorithm.
RCON [1] = 0x01, RCON [2] = 0x02, RCON [3] = 0x04, RCON [4] = 0x08, RCON [5] = 0x10,
RCON [6] = 0x20, RCON [7] = 0x40, RCON [8] = 0x80, RCON [9] = 0x1B, RCON [10] = 0x36,
RCON [11] = 0x6C, RCON [12] = 0xD8, RCON [13] = 0xAB, RCON [14] = 0x4D.

因為是Standard! 所以Intel Inside就把"AES Inside" since Westmere

Intel® 進階加密標準新增指令 (Intel® AES NI) 是一組新的加密指令集,
改善了進階加密標準 (AES) 演算法,可加速 Intel® Xeon® 處理器產品與
Intel® Core™ 處理器產品中的資料加密。
1. 好的演算法,亦即「進階加密標準」(AES) @ Intel® AES NI
2. 好的金鑰,亦即優質的隨機數字 @ Intel® Digital Random Number Generator,Intel® DRNG)
Intel® Advanced Encryption Standard (Intel® AES) Instructions Set改善了進階加密標準 (AES) 演算法,可加速 Intel® Xeon® 處理器產品與
Intel® Core™ 處理器產品中的資料加密。
1. 好的演算法,亦即「進階加密標準」(AES) @ Intel® AES NI
2. 好的金鑰,亦即優質的隨機數字 @ Intel® Digital Random Number Generator,Intel® DRNG)
AES Encryption & Decryption Flow:

AES Encryption Flow:
(0). KeyExpansion()
(1). Round #1
1. AddRoundKey()
(2). Regular Rounds (9, 11, 13) depend on Keys used
1. SubBytes()
2. ShiftRows()
3. MixColumns()
4. AddRoundKey()
(3). Last Round
1. SubBytes()
2. ShiftRows()
3. AddRoundKey()

1. Each round = 4 steps of SubBytes, ShiftRows, MixColumns, and AddRoundKey.(1). Round #1
1. AddRoundKey()
(2). Regular Rounds (9, 11, 13) depend on Keys used
1. SubBytes()
2. ShiftRows()
3. MixColumns()
4. AddRoundKey()
(3). Last Round
1. SubBytes()
2. ShiftRows()
3. AddRoundKey()

AES Decryption Flow:
(0). KeyExpansion()
(1). Round #1
1. AddRoundKey()
(2). Regular Rounds (9, 11, 13) depend on Keys used
1. InvShiftRows()
2. InvSubBytes()
3. AddRoundKey()
4. InvMixColumns()
(3). Last Round
1. InvShiftRows()
2. InvSubBytes()
3. AddRoundKey()

(1). Round #1
1. AddRoundKey()
(2). Regular Rounds (9, 11, 13) depend on Keys used
1. InvShiftRows()
2. InvSubBytes()
3. AddRoundKey()
4. InvMixColumns()
(3). Last Round
1. InvShiftRows()
2. InvSubBytes()
3. AddRoundKey()

2. Last round has only 3 steps. No MixColumns.
3. Decryption is not the same as encryption (as in DES).
4. Decryption consists of inverse steps.
ComboStyle™AES網誌的最後...

還有迷人奧秘的Rhine doll @ AES (Advanced Encryption Standard)!!!


其原理果然奧秘!!! (AES裡面有不少數學理論存在, 特別是有關數論的理論)





Block Ciher Mode:
CBC better than ECB

Block cipher mode of operation
https://en.wikipedia.org/wiki/Block_cipher_mode_of_operation
http://blog.poxiao.me/p/advanced-encryption-standard-and-block-cipher-mode/
How secure is AES against brute force attacks?


AES果然是奧秘!!!
byAJPnOPiTLuGHQUlHu/jTD8U9T/G8F64T/K0+4Bq4JgmUmjq/8PyCgiuZdZJoEk
by Online AES encryption tools @ Seccret Key: 1216


Crypto-Toolbox
https://www.3amsystems.com/Crypto-Toolbox
AES Crypt
https://www.aescrypt.com/
Cryptography - 256 bit Ciphers
http://embeddedsw.net/Cipher_Reference_Home.html
A Stick Figure Guide to the Advanced Encryption Standard (AES)
http://sacoinvest.blogspot.tw/2009/09/stick-figure-guide-to-advanced.html


Crypto-Toolbox
https://www.3amsystems.com/Crypto-Toolbox
AES Crypt
https://www.aescrypt.com/
Cryptography - 256 bit Ciphers
http://embeddedsw.net/Cipher_Reference_Home.html
A Stick Figure Guide to the Advanced Encryption Standard (AES)
http://sacoinvest.blogspot.tw/2009/09/stick-figure-guide-to-advanced.html
Flash Video Describing the AES key schedule:
http://www.formaestudio.com/rijndaelinspector/archivos/Rijndael_Animation_v4_eng.swf
http://www.formaestudio.com/rijndaelinspector/archivos/Rijndael_Animation_v4_eng.swf
ADVANCED ENCRYPTION STANDARD (AES)
http://csrc.nist.gov/publications/fips/fips197/fips-197.pdf
AES 對稱式加解密法
http://www.codedata.com.tw/social-coding/aes/
Encryption 101 – tools, algorithms and history
http://techinfographics.com/encryption-101-tools-algorithms-and-history/
http://csrc.nist.gov/publications/fips/fips197/fips-197.pdf
AES 對稱式加解密法
http://www.codedata.com.tw/social-coding/aes/
Encryption 101 – tools, algorithms and history
http://techinfographics.com/encryption-101-tools-algorithms-and-history/
全站熱搜