Algorithm-Design
APE:經過身份驗證的基於排列的加密如何工作?
我正在嘗試了解 APE 的加密和解密過程: APE: Authenticated Permutation-Based Encryption for Lightweight Cryptography
Vc
這里和這裡到底是什麼Vr
?範例而不是 permutationp
,如果我決定用分組密碼替換它怎麼辦?Vc 會成為分組密碼的密鑰嗎?那麼明文Vr
會是什麼?xor'ed
一個簡單的人類可讀的虛擬碼將很有幫助。我開始嘗試重寫虛擬碼,但有很多未解決的問題。
[CipherText, Tag] function Encrypt(Key, A, Plaintext): begin u = len(A) w = total number of blocks in the plaintext// eg. 1 block 64 bit block size V = [0,....K] if(A not zero) then A = {A[1] .... A[u]} for i = 1 to u do V = p(A[i] xor Vr, Vc) // can replace this with block cipher eg bcp(plaintext,key) end endif V = V xor [0,1] // What is (0,1)? M = {Plaintext[1],.......Plaintext[w]} // devide into blocks eg. 64 bits each. for i = 1 to w do V = p(M[i] xor Vr, Vc) // what is the Vr and Vc here? C[i] = Vr end CipherText = {C[1],.......C[w]} Tag = Vc Xor Key // what is the Vc here from? end