aacs: use shared VERIFY_MAGIC in km_verifies

This commit is contained in:
Matthew Jackson
2026-09-29 18:57:14 -07:00
parent 843f9501c4
commit cd9d5def4a
2 changed files with 2 additions and 8 deletions
+2 -5
View File
@@ -425,9 +425,7 @@ pub mod probe {
/// `AES-D(km, mk_dv)[0..8] == 01 23 45 67 89 AB CD EF`.
pub fn km_verifies(mkb: &[u8], km: &[u8; 16]) -> bool {
match super::mkb_find_mk_dv(mkb) {
Some(mk_dv) => {
aes_ecb_decrypt(km, &mk_dv)[..8] == [0x01, 0x23, 0x45, 0x67, 0x89, 0xAB, 0xCD, 0xEF]
}
Some(mk_dv) => aes_ecb_decrypt(km, &mk_dv)[..8] == super::VERIFY_MAGIC,
None => false,
}
}
@@ -600,14 +598,13 @@ mod resolve_candidate_tests {
fn km_verifies_accepts_only_the_key_its_record_was_built_for() {
use crate::aacs::mkb::mkb_find_mk_dv;
const MAGIC: [u8; 8] = [0x01, 0x23, 0x45, 0x67, 0x89, 0xAB, 0xCD, 0xEF];
let km: [u8; 16] = [
0x00, 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, 0x88, 0x99, 0xAA, 0xBB, 0xCC, 0xDD,
0xEE, 0xFF,
];
let mut plain = [0u8; 16];
plain[..8].copy_from_slice(&MAGIC);
plain[..8].copy_from_slice(&VERIFY_MAGIC);
plain[8..].copy_from_slice(&[0xA5; 8]);
let mk_dv = aes_ecb_encrypt(&km, &plain);
-3
View File
@@ -1096,7 +1096,6 @@ mod tests {
fn plant_variant_mkb() -> PlantedVariant {
use crate::aacs::crypto::{aes_ecb_encrypt, aes_g};
const VERIFY_MAGIC: [u8; 8] = [0x01, 0x23, 0x45, 0x67, 0x89, 0xAB, 0xCD, 0xEF];
const UV: u32 = 2;
const U_MASK_SHIFT: u8 = 3;
@@ -1696,7 +1695,6 @@ mod tests {
fn plant_walk_variant_mkb() -> PlantedWalk {
use crate::aacs::crypto::{aes_ecb_encrypt, aes_g};
const VERIFY_MAGIC: [u8; 8] = [0x01, 0x23, 0x45, 0x67, 0x89, 0xAB, 0xCD, 0xEF];
const UV_DECOY: u32 = 0x0000_0800;
const UV_REAL: u32 = 0x0000_0400;
const U_MASK_SHIFT: u8 = 12;
@@ -1970,7 +1968,6 @@ mod tests {
#[test]
fn walk_processing_key_authenticates_a_classical_match_through_the_verify_magic() {
use crate::aacs::crypto::aes_ecb_encrypt;
const VERIFY_MAGIC: [u8; 8] = [0x01, 0x23, 0x45, 0x67, 0x89, 0xAB, 0xCD, 0xEF];
const UV: u32 = 0x0000_0400;
const U_MASK_SHIFT: u8 = 12;