Skip to content

Commit a6ff457

Browse files
committed
fix AES key calculation
1 parent ce7ce2a commit a6ff457

File tree

2 files changed

+19
-14
lines changed

2 files changed

+19
-14
lines changed

examples/aes.rs

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,11 +22,16 @@ fn main() -> ! {
2222
let mut rcc = dp.RCC.constrain();
2323
let aes = dp.AES.constrain(&mut rcc);
2424
let message = b"The quick brown ";
25-
let key = Key::try_from_slice(&[01; 32]).unwrap();
25+
let key = Key::try_from_slice(&[
26+
0x03, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
27+
0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
28+
0x01, 0x07,
29+
])
30+
.unwrap();
2631

2732
let mut aes_ecb_encrypt = aes.ecb_encrypt(key);
2833
let encrypted = aes_ecb_encrypt.process(&message).unwrap();
29-
defmt::info!("encrypred: {:02x}, check: [c9, ca, 52, 28, e5, f8, f2, 7e, ce, b9, 5b, 4d, 3c, 51, 77, 10]", encrypted);
34+
defmt::info!("encrypred: {:02x}, check: [81, 2b, 02, 01, e6, 20, 7b, e9, 11, 79, b7, 1c, 42, 05, 99, 9d]", encrypted);
3035

3136
let mut aes_ecb_decrypt = aes_ecb_encrypt.disable().ecb_decrypt(key);
3237
let decrypted = aes_ecb_decrypt.process(&encrypted).unwrap();

src/aes.rs

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -200,21 +200,21 @@ pub trait Mode {
200200
match key {
201201
Key::Key128(key) => unsafe {
202202
rb.cr().modify(|_, w| w.keysize().bit(false));
203-
rb.keyr0().write(|w| w.bits(key[0]));
204-
rb.keyr1().write(|w| w.bits(key[1]));
205-
rb.keyr2().write(|w| w.bits(key[2]));
206-
rb.keyr3().write(|w| w.bits(key[3]));
203+
rb.keyr3().write(|w| w.bits(key[0]));
204+
rb.keyr2().write(|w| w.bits(key[1]));
205+
rb.keyr1().write(|w| w.bits(key[2]));
206+
rb.keyr0().write(|w| w.bits(key[3]));
207207
},
208208
Key::Key256(key) => unsafe {
209209
rb.cr().modify(|_, w| w.keysize().bit(true));
210-
rb.keyr0().write(|w| w.bits(key[0]));
211-
rb.keyr1().write(|w| w.bits(key[1]));
212-
rb.keyr2().write(|w| w.bits(key[2]));
213-
rb.keyr3().write(|w| w.bits(key[3]));
214-
rb.keyr4().write(|w| w.bits(key[4]));
215-
rb.keyr5().write(|w| w.bits(key[5]));
216-
rb.keyr6().write(|w| w.bits(key[6]));
217-
rb.keyr7().write(|w| w.bits(key[7]));
210+
rb.keyr7().write(|w| w.bits(key[0]));
211+
rb.keyr6().write(|w| w.bits(key[1]));
212+
rb.keyr5().write(|w| w.bits(key[2]));
213+
rb.keyr4().write(|w| w.bits(key[3]));
214+
rb.keyr3().write(|w| w.bits(key[4]));
215+
rb.keyr2().write(|w| w.bits(key[5]));
216+
rb.keyr1().write(|w| w.bits(key[6]));
217+
rb.keyr0().write(|w| w.bits(key[7]));
218218
},
219219
}
220220
}

0 commit comments

Comments
 (0)