URL
https://opencores.org/ocsvn/apbtoaes128/apbtoaes128/trunk
Subversion Repositories apbtoaes128
Compare Revisions
- This comparison shows the changes necessary to convert path
/apbtoaes128/trunk/pli/bfm_ecb
- from Rev 9 to Rev 12
- ↔ Reverse comparison
Rev 9 → Rev 12
/aes_bfm_derivation_decryption_ecb.h
243,14 → 243,38
if(counter_write == 9) |
{ |
|
v_ecb.value.integer = vector_address[counter_write]; |
vpi_put_value(PADDR, &v_ecb, NULL, vpiNoDelay); |
if(DATATYPE == TYPE_00)// NO DINR DOUTR SWAP DATA |
{ |
v_ecb.value.integer = ADDR_AES_CR; |
vpi_put_value(PADDR, &v_ecb, NULL, vpiNoDelay); |
|
t_ecb.type = vpiScaledRealTime; |
t_ecb.real = 0; |
v_ecb.format=vpiIntVal; |
v_ecb.value.integer = 25;//data_in(rd); |
vpi_put_value(PWDATA, &v_ecb, &t_ecb, vpiTransportDelay); |
v_ecb.value.integer = 25; |
vpi_put_value(PWDATA, &v_ecb, &t_ecb, vpiTransportDelay); |
|
}else if(DATATYPE == TYPE_01)// 16 BIT DINR DOUTR SWAP DATA |
{ |
v_ecb.value.integer = ADDR_AES_CR; |
vpi_put_value(PADDR, &v_ecb, NULL, vpiNoDelay); |
|
v_ecb.value.integer = 27; |
vpi_put_value(PWDATA, &v_ecb, &t_ecb, vpiTransportDelay); |
|
}else if(DATATYPE == TYPE_02)// 8 BIT DINR DOUTR SWAP DATA |
{ |
v_ecb.value.integer = ADDR_AES_CR; |
vpi_put_value(PADDR, &v_ecb, NULL, vpiNoDelay); |
|
v_ecb.value.integer = 29; |
vpi_put_value(PWDATA, &v_ecb, &t_ecb, vpiTransportDelay); |
|
}else if(DATATYPE == TYPE_03)// BIT DINR DOUTR SWAP DATA |
{ |
v_ecb.value.integer = ADDR_AES_CR; |
vpi_put_value(PADDR, &v_ecb, NULL, vpiNoDelay); |
|
v_ecb.value.integer = 31; |
vpi_put_value(PWDATA, &v_ecb, &t_ecb, vpiTransportDelay); |
} |
|
} |
|
265,51 → 289,209
if(FIPS_ENABLE == FIPS) |
{ |
|
if(counter_write == 10) |
if(DATATYPE == TYPE_00) |
{ |
a = a | TEXT_FIPS_DERIVATED[0]; |
a = a << 8; |
a = a | TEXT_FIPS_DERIVATED[1]; |
a = a << 8; |
a = a | TEXT_FIPS_DERIVATED[2]; |
a = a << 8; |
a = a | TEXT_FIPS_DERIVATED[3]; |
v_ecb.value.integer = a; |
|
}else if(counter_write == 11) |
if(counter_write == 10) |
{ |
a = a | TEXT_FIPS_DERIVATED[0]; |
a = a << 8; |
a = a | TEXT_FIPS_DERIVATED[1]; |
a = a << 8; |
a = a | TEXT_FIPS_DERIVATED[2]; |
a = a << 8; |
a = a | TEXT_FIPS_DERIVATED[3]; |
v_ecb.value.integer = a; |
|
}else if(counter_write == 11) |
{ |
b = b | TEXT_FIPS_DERIVATED[4]; |
b = b << 8; |
b = b | TEXT_FIPS_DERIVATED[5]; |
b = b << 8; |
b = b | TEXT_FIPS_DERIVATED[6]; |
b = b << 8; |
b = b | TEXT_FIPS_DERIVATED[7]; |
v_ecb.value.integer = b; |
|
}else if(counter_write == 12 ) |
{ |
|
c = c | TEXT_FIPS_DERIVATED[8]; |
c = c << 8; |
c = c | TEXT_FIPS_DERIVATED[9]; |
c = c << 8; |
c = c | TEXT_FIPS_DERIVATED[10]; |
c = c << 8; |
c = c | TEXT_FIPS_DERIVATED[11]; |
v_ecb.value.integer = c; |
|
}else if(counter_write == 13 ) |
{ |
d = d | TEXT_FIPS_DERIVATED[12]; |
d = d << 8; |
d = d | TEXT_FIPS_DERIVATED[13]; |
d = d << 8; |
d = d | TEXT_FIPS_DERIVATED[14]; |
d = d << 8; |
d = d | TEXT_FIPS_DERIVATED[15]; |
v_ecb.value.integer = d; |
|
} |
|
}else if(DATATYPE == TYPE_01) |
{ |
b = b | TEXT_FIPS_DERIVATED[4]; |
b = b << 8; |
b = b | TEXT_FIPS_DERIVATED[5]; |
b = b << 8; |
b = b | TEXT_FIPS_DERIVATED[6]; |
b = b << 8; |
b = b | TEXT_FIPS_DERIVATED[7]; |
v_ecb.value.integer = b; |
|
}else if(counter_write == 12 ) |
|
if(counter_write == 10) |
{ |
a = a | TEXT_FIPS_DATATYPE_T01_DERIVATED[0]; |
a = a << 8; |
a = a | TEXT_FIPS_DATATYPE_T01_DERIVATED[1]; |
a = a << 8; |
a = a | TEXT_FIPS_DATATYPE_T01_DERIVATED[2]; |
a = a << 8; |
a = a | TEXT_FIPS_DATATYPE_T01_DERIVATED[3]; |
v_ecb.value.integer = a; |
|
}else if(counter_write == 11) |
{ |
b = b | TEXT_FIPS_DATATYPE_T01_DERIVATED[4]; |
b = b << 8; |
b = b | TEXT_FIPS_DATATYPE_T01_DERIVATED[5]; |
b = b << 8; |
b = b | TEXT_FIPS_DATATYPE_T01_DERIVATED[6]; |
b = b << 8; |
b = b | TEXT_FIPS_DATATYPE_T01_DERIVATED[7]; |
v_ecb.value.integer = b; |
|
}else if(counter_write == 12 ) |
{ |
|
c = c | TEXT_FIPS_DATATYPE_T01_DERIVATED[8]; |
c = c << 8; |
c = c | TEXT_FIPS_DATATYPE_T01_DERIVATED[9]; |
c = c << 8; |
c = c | TEXT_FIPS_DATATYPE_T01_DERIVATED[10]; |
c = c << 8; |
c = c | TEXT_FIPS_DATATYPE_T01_DERIVATED[11]; |
v_ecb.value.integer = c; |
|
}else if(counter_write == 13 ) |
{ |
d = d | TEXT_FIPS_DATATYPE_T01_DERIVATED[12]; |
d = d << 8; |
d = d | TEXT_FIPS_DATATYPE_T01_DERIVATED[13]; |
d = d << 8; |
d = d | TEXT_FIPS_DATATYPE_T01_DERIVATED[14]; |
d = d << 8; |
d = d | TEXT_FIPS_DATATYPE_T01_DERIVATED[15]; |
v_ecb.value.integer = d; |
|
} |
|
}else if(DATATYPE == TYPE_02) |
{ |
if(counter_write == 10) |
{ |
a = a | TEXT_FIPS_DATATYPE_T02_DERIVATED[0]; |
a = a << 8; |
a = a | TEXT_FIPS_DATATYPE_T02_DERIVATED[1]; |
a = a << 8; |
a = a | TEXT_FIPS_DATATYPE_T02_DERIVATED[2]; |
a = a << 8; |
a = a | TEXT_FIPS_DATATYPE_T02_DERIVATED[3]; |
v_ecb.value.integer = a; |
|
c = c | TEXT_FIPS_DERIVATED[8]; |
c = c << 8; |
c = c | TEXT_FIPS_DERIVATED[9]; |
c = c << 8; |
c = c | TEXT_FIPS_DERIVATED[10]; |
c = c << 8; |
c = c | TEXT_FIPS_DERIVATED[11]; |
v_ecb.value.integer = c; |
}else if(counter_write == 11) |
{ |
b = b | TEXT_FIPS_DATATYPE_T02_DERIVATED[4]; |
b = b << 8; |
b = b | TEXT_FIPS_DATATYPE_T02_DERIVATED[5]; |
b = b << 8; |
b = b | TEXT_FIPS_DATATYPE_T02_DERIVATED[6]; |
b = b << 8; |
b = b | TEXT_FIPS_DATATYPE_T02_DERIVATED[7]; |
v_ecb.value.integer = b; |
|
}else if(counter_write == 13 ) |
}else if(counter_write == 12 ) |
{ |
|
c = c | TEXT_FIPS_DATATYPE_T02_DERIVATED[8]; |
c = c << 8; |
c = c | TEXT_FIPS_DATATYPE_T02_DERIVATED[9]; |
c = c << 8; |
c = c | TEXT_FIPS_DATATYPE_T02_DERIVATED[10]; |
c = c << 8; |
c = c | TEXT_FIPS_DATATYPE_T02_DERIVATED[11]; |
v_ecb.value.integer = c; |
|
}else if(counter_write == 13 ) |
{ |
d = d | TEXT_FIPS_DATATYPE_T02_DERIVATED[12]; |
d = d << 8; |
d = d | TEXT_FIPS_DATATYPE_T02_DERIVATED[13]; |
d = d << 8; |
d = d | TEXT_FIPS_DATATYPE_T02_DERIVATED[14]; |
d = d << 8; |
d = d | TEXT_FIPS_DATATYPE_T02_DERIVATED[15]; |
v_ecb.value.integer = d; |
|
} |
|
|
|
}else if(DATATYPE == TYPE_03) |
{ |
d = d | TEXT_FIPS_DERIVATED[12]; |
d = d << 8; |
d = d | TEXT_FIPS_DERIVATED[13]; |
d = d << 8; |
d = d | TEXT_FIPS_DERIVATED[14]; |
d = d << 8; |
d = d | TEXT_FIPS_DERIVATED[15]; |
v_ecb.value.integer = d; |
if(counter_write == 10) |
{ |
a = a | TEXT_FIPS_DATATYPE_T03_DERIVATED[0]; |
a = a << 8; |
a = a | TEXT_FIPS_DATATYPE_T03_DERIVATED[1]; |
a = a << 8; |
a = a | TEXT_FIPS_DATATYPE_T03_DERIVATED[2]; |
a = a << 8; |
a = a | TEXT_FIPS_DATATYPE_T03_DERIVATED[3]; |
v_ecb.value.integer = a; |
|
}else if(counter_write == 11) |
{ |
b = b | TEXT_FIPS_DATATYPE_T03_DERIVATED[4]; |
b = b << 8; |
b = b | TEXT_FIPS_DATATYPE_T03_DERIVATED[5]; |
b = b << 8; |
b = b | TEXT_FIPS_DATATYPE_T03_DERIVATED[6]; |
b = b << 8; |
b = b | TEXT_FIPS_DATATYPE_T03_DERIVATED[7]; |
v_ecb.value.integer = b; |
|
}else if(counter_write == 12 ) |
{ |
|
c = c | TEXT_FIPS_DATATYPE_T03_DERIVATED[8]; |
c = c << 8; |
c = c | TEXT_FIPS_DATATYPE_T03_DERIVATED[9]; |
c = c << 8; |
c = c | TEXT_FIPS_DATATYPE_T03_DERIVATED[10]; |
c = c << 8; |
c = c | TEXT_FIPS_DATATYPE_T03_DERIVATED[11]; |
v_ecb.value.integer = c; |
|
}else if(counter_write == 13 ) |
{ |
d = d | TEXT_FIPS_DATATYPE_T03_DERIVATED[12]; |
d = d << 8; |
d = d | TEXT_FIPS_DATATYPE_T03_DERIVATED[13]; |
d = d << 8; |
d = d | TEXT_FIPS_DATATYPE_T03_DERIVATED[14]; |
d = d << 8; |
d = d | TEXT_FIPS_DATATYPE_T03_DERIVATED[15]; |
v_ecb.value.integer = d; |
|
} |
|
|
|
} |
|
|
/aes_bfm_derivation_decryption_dma_ecb.h
243,14 → 243,38
if(counter_write == 9) |
{ |
|
v_ecb.value.integer = vector_address[counter_write]; |
vpi_put_value(PADDR, &v_ecb, NULL, vpiNoDelay); |
if(DATATYPE == TYPE_00)// NO DINR DOUTR SWAP DATA |
{ |
v_ecb.value.integer = ADDR_AES_CR; |
vpi_put_value(PADDR, &v_ecb, NULL, vpiNoDelay); |
|
t_ecb.type = vpiScaledRealTime; |
t_ecb.real = 0; |
v_ecb.format=vpiIntVal; |
v_ecb.value.integer = 6169; |
vpi_put_value(PWDATA, &v_ecb, &t_ecb, vpiTransportDelay); |
v_ecb.value.integer = 6169; |
vpi_put_value(PWDATA, &v_ecb, &t_ecb, vpiTransportDelay); |
|
}else if(DATATYPE == TYPE_01)// 16 BIT DINR DOUTR SWAP DATA |
{ |
v_ecb.value.integer = ADDR_AES_CR; |
vpi_put_value(PADDR, &v_ecb, NULL, vpiNoDelay); |
|
v_ecb.value.integer = 6171; |
vpi_put_value(PWDATA, &v_ecb, &t_ecb, vpiTransportDelay); |
|
}else if(DATATYPE == TYPE_02)// 8 BIT DINR DOUTR SWAP DATA |
{ |
v_ecb.value.integer = ADDR_AES_CR; |
vpi_put_value(PADDR, &v_ecb, NULL, vpiNoDelay); |
|
v_ecb.value.integer = 6173; |
vpi_put_value(PWDATA, &v_ecb, &t_ecb, vpiTransportDelay); |
|
}else if(DATATYPE == TYPE_03)// BIT DINR DOUTR SWAP DATA |
{ |
v_ecb.value.integer = ADDR_AES_CR; |
vpi_put_value(PADDR, &v_ecb, NULL, vpiNoDelay); |
|
v_ecb.value.integer = 6175; |
vpi_put_value(PWDATA, &v_ecb, &t_ecb, vpiTransportDelay); |
} |
|
} |
|
265,51 → 289,209
if(FIPS_ENABLE == FIPS) |
{ |
|
if(counter_write == 10) |
if(DATATYPE == TYPE_00) |
{ |
a = a | TEXT_FIPS_DERIVATED[0]; |
a = a << 8; |
a = a | TEXT_FIPS_DERIVATED[1]; |
a = a << 8; |
a = a | TEXT_FIPS_DERIVATED[2]; |
a = a << 8; |
a = a | TEXT_FIPS_DERIVATED[3]; |
v_ecb.value.integer = a; |
|
}else if(counter_write == 11) |
if(counter_write == 10) |
{ |
a = a | TEXT_FIPS_DERIVATED[0]; |
a = a << 8; |
a = a | TEXT_FIPS_DERIVATED[1]; |
a = a << 8; |
a = a | TEXT_FIPS_DERIVATED[2]; |
a = a << 8; |
a = a | TEXT_FIPS_DERIVATED[3]; |
v_ecb.value.integer = a; |
|
}else if(counter_write == 11) |
{ |
b = b | TEXT_FIPS_DERIVATED[4]; |
b = b << 8; |
b = b | TEXT_FIPS_DERIVATED[5]; |
b = b << 8; |
b = b | TEXT_FIPS_DERIVATED[6]; |
b = b << 8; |
b = b | TEXT_FIPS_DERIVATED[7]; |
v_ecb.value.integer = b; |
|
}else if(counter_write == 12 ) |
{ |
|
c = c | TEXT_FIPS_DERIVATED[8]; |
c = c << 8; |
c = c | TEXT_FIPS_DERIVATED[9]; |
c = c << 8; |
c = c | TEXT_FIPS_DERIVATED[10]; |
c = c << 8; |
c = c | TEXT_FIPS_DERIVATED[11]; |
v_ecb.value.integer = c; |
|
}else if(counter_write == 13 ) |
{ |
d = d | TEXT_FIPS_DERIVATED[12]; |
d = d << 8; |
d = d | TEXT_FIPS_DERIVATED[13]; |
d = d << 8; |
d = d | TEXT_FIPS_DERIVATED[14]; |
d = d << 8; |
d = d | TEXT_FIPS_DERIVATED[15]; |
v_ecb.value.integer = d; |
|
} |
|
}else if(DATATYPE == TYPE_01) |
{ |
b = b | TEXT_FIPS_DERIVATED[4]; |
b = b << 8; |
b = b | TEXT_FIPS_DERIVATED[5]; |
b = b << 8; |
b = b | TEXT_FIPS_DERIVATED[6]; |
b = b << 8; |
b = b | TEXT_FIPS_DERIVATED[7]; |
v_ecb.value.integer = b; |
|
}else if(counter_write == 12 ) |
|
if(counter_write == 10) |
{ |
a = a | TEXT_FIPS_DATATYPE_T01_DERIVATED[0]; |
a = a << 8; |
a = a | TEXT_FIPS_DATATYPE_T01_DERIVATED[1]; |
a = a << 8; |
a = a | TEXT_FIPS_DATATYPE_T01_DERIVATED[2]; |
a = a << 8; |
a = a | TEXT_FIPS_DATATYPE_T01_DERIVATED[3]; |
v_ecb.value.integer = a; |
|
}else if(counter_write == 11) |
{ |
b = b | TEXT_FIPS_DATATYPE_T01_DERIVATED[4]; |
b = b << 8; |
b = b | TEXT_FIPS_DATATYPE_T01_DERIVATED[5]; |
b = b << 8; |
b = b | TEXT_FIPS_DATATYPE_T01_DERIVATED[6]; |
b = b << 8; |
b = b | TEXT_FIPS_DATATYPE_T01_DERIVATED[7]; |
v_ecb.value.integer = b; |
|
}else if(counter_write == 12 ) |
{ |
|
c = c | TEXT_FIPS_DATATYPE_T01_DERIVATED[8]; |
c = c << 8; |
c = c | TEXT_FIPS_DATATYPE_T01_DERIVATED[9]; |
c = c << 8; |
c = c | TEXT_FIPS_DATATYPE_T01_DERIVATED[10]; |
c = c << 8; |
c = c | TEXT_FIPS_DATATYPE_T01_DERIVATED[11]; |
v_ecb.value.integer = c; |
|
}else if(counter_write == 13 ) |
{ |
d = d | TEXT_FIPS_DATATYPE_T01_DERIVATED[12]; |
d = d << 8; |
d = d | TEXT_FIPS_DATATYPE_T01_DERIVATED[13]; |
d = d << 8; |
d = d | TEXT_FIPS_DATATYPE_T01_DERIVATED[14]; |
d = d << 8; |
d = d | TEXT_FIPS_DATATYPE_T01_DERIVATED[15]; |
v_ecb.value.integer = d; |
|
} |
|
}else if(DATATYPE == TYPE_02) |
{ |
if(counter_write == 10) |
{ |
a = a | TEXT_FIPS_DATATYPE_T02_DERIVATED[0]; |
a = a << 8; |
a = a | TEXT_FIPS_DATATYPE_T02_DERIVATED[1]; |
a = a << 8; |
a = a | TEXT_FIPS_DATATYPE_T02_DERIVATED[2]; |
a = a << 8; |
a = a | TEXT_FIPS_DATATYPE_T02_DERIVATED[3]; |
v_ecb.value.integer = a; |
|
c = c | TEXT_FIPS_DERIVATED[8]; |
c = c << 8; |
c = c | TEXT_FIPS_DERIVATED[9]; |
c = c << 8; |
c = c | TEXT_FIPS_DERIVATED[10]; |
c = c << 8; |
c = c | TEXT_FIPS_DERIVATED[11]; |
v_ecb.value.integer = c; |
}else if(counter_write == 11) |
{ |
b = b | TEXT_FIPS_DATATYPE_T02_DERIVATED[4]; |
b = b << 8; |
b = b | TEXT_FIPS_DATATYPE_T02_DERIVATED[5]; |
b = b << 8; |
b = b | TEXT_FIPS_DATATYPE_T02_DERIVATED[6]; |
b = b << 8; |
b = b | TEXT_FIPS_DATATYPE_T02_DERIVATED[7]; |
v_ecb.value.integer = b; |
|
}else if(counter_write == 13 ) |
}else if(counter_write == 12 ) |
{ |
|
c = c | TEXT_FIPS_DATATYPE_T02_DERIVATED[8]; |
c = c << 8; |
c = c | TEXT_FIPS_DATATYPE_T02_DERIVATED[9]; |
c = c << 8; |
c = c | TEXT_FIPS_DATATYPE_T02_DERIVATED[10]; |
c = c << 8; |
c = c | TEXT_FIPS_DATATYPE_T02_DERIVATED[11]; |
v_ecb.value.integer = c; |
|
}else if(counter_write == 13 ) |
{ |
d = d | TEXT_FIPS_DATATYPE_T02_DERIVATED[12]; |
d = d << 8; |
d = d | TEXT_FIPS_DATATYPE_T02_DERIVATED[13]; |
d = d << 8; |
d = d | TEXT_FIPS_DATATYPE_T02_DERIVATED[14]; |
d = d << 8; |
d = d | TEXT_FIPS_DATATYPE_T02_DERIVATED[15]; |
v_ecb.value.integer = d; |
|
} |
|
|
|
}else if(DATATYPE == TYPE_03) |
{ |
d = d | TEXT_FIPS_DERIVATED[12]; |
d = d << 8; |
d = d | TEXT_FIPS_DERIVATED[13]; |
d = d << 8; |
d = d | TEXT_FIPS_DERIVATED[14]; |
d = d << 8; |
d = d | TEXT_FIPS_DERIVATED[15]; |
v_ecb.value.integer = d; |
if(counter_write == 10) |
{ |
a = a | TEXT_FIPS_DATATYPE_T03_DERIVATED[0]; |
a = a << 8; |
a = a | TEXT_FIPS_DATATYPE_T03_DERIVATED[1]; |
a = a << 8; |
a = a | TEXT_FIPS_DATATYPE_T03_DERIVATED[2]; |
a = a << 8; |
a = a | TEXT_FIPS_DATATYPE_T03_DERIVATED[3]; |
v_ecb.value.integer = a; |
|
}else if(counter_write == 11) |
{ |
b = b | TEXT_FIPS_DATATYPE_T03_DERIVATED[4]; |
b = b << 8; |
b = b | TEXT_FIPS_DATATYPE_T03_DERIVATED[5]; |
b = b << 8; |
b = b | TEXT_FIPS_DATATYPE_T03_DERIVATED[6]; |
b = b << 8; |
b = b | TEXT_FIPS_DATATYPE_T03_DERIVATED[7]; |
v_ecb.value.integer = b; |
|
}else if(counter_write == 12 ) |
{ |
|
c = c | TEXT_FIPS_DATATYPE_T03_DERIVATED[8]; |
c = c << 8; |
c = c | TEXT_FIPS_DATATYPE_T03_DERIVATED[9]; |
c = c << 8; |
c = c | TEXT_FIPS_DATATYPE_T03_DERIVATED[10]; |
c = c << 8; |
c = c | TEXT_FIPS_DATATYPE_T03_DERIVATED[11]; |
v_ecb.value.integer = c; |
|
}else if(counter_write == 13 ) |
{ |
d = d | TEXT_FIPS_DATATYPE_T03_DERIVATED[12]; |
d = d << 8; |
d = d | TEXT_FIPS_DATATYPE_T03_DERIVATED[13]; |
d = d << 8; |
d = d | TEXT_FIPS_DATATYPE_T03_DERIVATED[14]; |
d = d << 8; |
d = d | TEXT_FIPS_DATATYPE_T03_DERIVATED[15]; |
v_ecb.value.integer = d; |
|
} |
|
|
|
} |
|
|
/aes_bfm_decryption_ccfie_ecb.h
243,14 → 243,38
if(counter_write == 9) |
{ |
|
v_ecb.value.integer = vector_address[counter_write]; |
vpi_put_value(PADDR, &v_ecb, NULL, vpiNoDelay); |
if(DATATYPE == TYPE_00)// NO DINR DOUTR SWAP DATA |
{ |
v_ecb.value.integer = ADDR_AES_CR; |
vpi_put_value(PADDR, &v_ecb, NULL, vpiNoDelay); |
|
t_ecb.type = vpiScaledRealTime; |
t_ecb.real = 0; |
v_ecb.format=vpiIntVal; |
v_ecb.value.integer = 529; |
vpi_put_value(PWDATA, &v_ecb, &t_ecb, vpiTransportDelay); |
v_ecb.value.integer = 529; |
vpi_put_value(PWDATA, &v_ecb, &t_ecb, vpiTransportDelay); |
|
}else if(DATATYPE == TYPE_01)// 16 BIT DINR DOUTR SWAP DATA |
{ |
v_ecb.value.integer = ADDR_AES_CR; |
vpi_put_value(PADDR, &v_ecb, NULL, vpiNoDelay); |
|
v_ecb.value.integer = 531; |
vpi_put_value(PWDATA, &v_ecb, &t_ecb, vpiTransportDelay); |
|
}else if(DATATYPE == TYPE_02)// 8 BIT DINR DOUTR SWAP DATA |
{ |
v_ecb.value.integer = ADDR_AES_CR; |
vpi_put_value(PADDR, &v_ecb, NULL, vpiNoDelay); |
|
v_ecb.value.integer = 533; |
vpi_put_value(PWDATA, &v_ecb, &t_ecb, vpiTransportDelay); |
|
}else if(DATATYPE == TYPE_03)// BIT DINR DOUTR SWAP DATA |
{ |
v_ecb.value.integer = ADDR_AES_CR; |
vpi_put_value(PADDR, &v_ecb, NULL, vpiNoDelay); |
|
v_ecb.value.integer = 535; |
vpi_put_value(PWDATA, &v_ecb, &t_ecb, vpiTransportDelay); |
} |
|
} |
|
265,51 → 289,209
if(FIPS_ENABLE == FIPS) |
{ |
|
if(counter_write == 10) |
if(DATATYPE == TYPE_00) |
{ |
a = a | TEXT_FIPS_DERIVATED[0]; |
a = a << 8; |
a = a | TEXT_FIPS_DERIVATED[1]; |
a = a << 8; |
a = a | TEXT_FIPS_DERIVATED[2]; |
a = a << 8; |
a = a | TEXT_FIPS_DERIVATED[3]; |
v_ecb.value.integer = a; |
|
}else if(counter_write == 11) |
if(counter_write == 10) |
{ |
a = a | TEXT_FIPS_DERIVATED[0]; |
a = a << 8; |
a = a | TEXT_FIPS_DERIVATED[1]; |
a = a << 8; |
a = a | TEXT_FIPS_DERIVATED[2]; |
a = a << 8; |
a = a | TEXT_FIPS_DERIVATED[3]; |
v_ecb.value.integer = a; |
|
}else if(counter_write == 11) |
{ |
b = b | TEXT_FIPS_DERIVATED[4]; |
b = b << 8; |
b = b | TEXT_FIPS_DERIVATED[5]; |
b = b << 8; |
b = b | TEXT_FIPS_DERIVATED[6]; |
b = b << 8; |
b = b | TEXT_FIPS_DERIVATED[7]; |
v_ecb.value.integer = b; |
|
}else if(counter_write == 12 ) |
{ |
|
c = c | TEXT_FIPS_DERIVATED[8]; |
c = c << 8; |
c = c | TEXT_FIPS_DERIVATED[9]; |
c = c << 8; |
c = c | TEXT_FIPS_DERIVATED[10]; |
c = c << 8; |
c = c | TEXT_FIPS_DERIVATED[11]; |
v_ecb.value.integer = c; |
|
}else if(counter_write == 13 ) |
{ |
d = d | TEXT_FIPS_DERIVATED[12]; |
d = d << 8; |
d = d | TEXT_FIPS_DERIVATED[13]; |
d = d << 8; |
d = d | TEXT_FIPS_DERIVATED[14]; |
d = d << 8; |
d = d | TEXT_FIPS_DERIVATED[15]; |
v_ecb.value.integer = d; |
|
} |
|
}else if(DATATYPE == TYPE_01) |
{ |
b = b | TEXT_FIPS_DERIVATED[4]; |
b = b << 8; |
b = b | TEXT_FIPS_DERIVATED[5]; |
b = b << 8; |
b = b | TEXT_FIPS_DERIVATED[6]; |
b = b << 8; |
b = b | TEXT_FIPS_DERIVATED[7]; |
v_ecb.value.integer = b; |
|
}else if(counter_write == 12 ) |
|
if(counter_write == 10) |
{ |
a = a | TEXT_FIPS_DATATYPE_T01_DERIVATED[0]; |
a = a << 8; |
a = a | TEXT_FIPS_DATATYPE_T01_DERIVATED[1]; |
a = a << 8; |
a = a | TEXT_FIPS_DATATYPE_T01_DERIVATED[2]; |
a = a << 8; |
a = a | TEXT_FIPS_DATATYPE_T01_DERIVATED[3]; |
v_ecb.value.integer = a; |
|
}else if(counter_write == 11) |
{ |
b = b | TEXT_FIPS_DATATYPE_T01_DERIVATED[4]; |
b = b << 8; |
b = b | TEXT_FIPS_DATATYPE_T01_DERIVATED[5]; |
b = b << 8; |
b = b | TEXT_FIPS_DATATYPE_T01_DERIVATED[6]; |
b = b << 8; |
b = b | TEXT_FIPS_DATATYPE_T01_DERIVATED[7]; |
v_ecb.value.integer = b; |
|
}else if(counter_write == 12 ) |
{ |
|
c = c | TEXT_FIPS_DATATYPE_T01_DERIVATED[8]; |
c = c << 8; |
c = c | TEXT_FIPS_DATATYPE_T01_DERIVATED[9]; |
c = c << 8; |
c = c | TEXT_FIPS_DATATYPE_T01_DERIVATED[10]; |
c = c << 8; |
c = c | TEXT_FIPS_DATATYPE_T01_DERIVATED[11]; |
v_ecb.value.integer = c; |
|
}else if(counter_write == 13 ) |
{ |
d = d | TEXT_FIPS_DATATYPE_T01_DERIVATED[12]; |
d = d << 8; |
d = d | TEXT_FIPS_DATATYPE_T01_DERIVATED[13]; |
d = d << 8; |
d = d | TEXT_FIPS_DATATYPE_T01_DERIVATED[14]; |
d = d << 8; |
d = d | TEXT_FIPS_DATATYPE_T01_DERIVATED[15]; |
v_ecb.value.integer = d; |
|
} |
|
}else if(DATATYPE == TYPE_02) |
{ |
if(counter_write == 10) |
{ |
a = a | TEXT_FIPS_DATATYPE_T02_DERIVATED[0]; |
a = a << 8; |
a = a | TEXT_FIPS_DATATYPE_T02_DERIVATED[1]; |
a = a << 8; |
a = a | TEXT_FIPS_DATATYPE_T02_DERIVATED[2]; |
a = a << 8; |
a = a | TEXT_FIPS_DATATYPE_T02_DERIVATED[3]; |
v_ecb.value.integer = a; |
|
c = c | TEXT_FIPS_DERIVATED[8]; |
c = c << 8; |
c = c | TEXT_FIPS_DERIVATED[9]; |
c = c << 8; |
c = c | TEXT_FIPS_DERIVATED[10]; |
c = c << 8; |
c = c | TEXT_FIPS_DERIVATED[11]; |
v_ecb.value.integer = c; |
}else if(counter_write == 11) |
{ |
b = b | TEXT_FIPS_DATATYPE_T02_DERIVATED[4]; |
b = b << 8; |
b = b | TEXT_FIPS_DATATYPE_T02_DERIVATED[5]; |
b = b << 8; |
b = b | TEXT_FIPS_DATATYPE_T02_DERIVATED[6]; |
b = b << 8; |
b = b | TEXT_FIPS_DATATYPE_T02_DERIVATED[7]; |
v_ecb.value.integer = b; |
|
}else if(counter_write == 13 ) |
}else if(counter_write == 12 ) |
{ |
|
c = c | TEXT_FIPS_DATATYPE_T02_DERIVATED[8]; |
c = c << 8; |
c = c | TEXT_FIPS_DATATYPE_T02_DERIVATED[9]; |
c = c << 8; |
c = c | TEXT_FIPS_DATATYPE_T02_DERIVATED[10]; |
c = c << 8; |
c = c | TEXT_FIPS_DATATYPE_T02_DERIVATED[11]; |
v_ecb.value.integer = c; |
|
}else if(counter_write == 13 ) |
{ |
d = d | TEXT_FIPS_DATATYPE_T02_DERIVATED[12]; |
d = d << 8; |
d = d | TEXT_FIPS_DATATYPE_T02_DERIVATED[13]; |
d = d << 8; |
d = d | TEXT_FIPS_DATATYPE_T02_DERIVATED[14]; |
d = d << 8; |
d = d | TEXT_FIPS_DATATYPE_T02_DERIVATED[15]; |
v_ecb.value.integer = d; |
|
} |
|
|
|
}else if(DATATYPE == TYPE_03) |
{ |
d = d | TEXT_FIPS_DERIVATED[12]; |
d = d << 8; |
d = d | TEXT_FIPS_DERIVATED[13]; |
d = d << 8; |
d = d | TEXT_FIPS_DERIVATED[14]; |
d = d << 8; |
d = d | TEXT_FIPS_DERIVATED[15]; |
v_ecb.value.integer = d; |
if(counter_write == 10) |
{ |
a = a | TEXT_FIPS_DATATYPE_T03_DERIVATED[0]; |
a = a << 8; |
a = a | TEXT_FIPS_DATATYPE_T03_DERIVATED[1]; |
a = a << 8; |
a = a | TEXT_FIPS_DATATYPE_T03_DERIVATED[2]; |
a = a << 8; |
a = a | TEXT_FIPS_DATATYPE_T03_DERIVATED[3]; |
v_ecb.value.integer = a; |
|
}else if(counter_write == 11) |
{ |
b = b | TEXT_FIPS_DATATYPE_T03_DERIVATED[4]; |
b = b << 8; |
b = b | TEXT_FIPS_DATATYPE_T03_DERIVATED[5]; |
b = b << 8; |
b = b | TEXT_FIPS_DATATYPE_T03_DERIVATED[6]; |
b = b << 8; |
b = b | TEXT_FIPS_DATATYPE_T03_DERIVATED[7]; |
v_ecb.value.integer = b; |
|
}else if(counter_write == 12 ) |
{ |
|
c = c | TEXT_FIPS_DATATYPE_T03_DERIVATED[8]; |
c = c << 8; |
c = c | TEXT_FIPS_DATATYPE_T03_DERIVATED[9]; |
c = c << 8; |
c = c | TEXT_FIPS_DATATYPE_T03_DERIVATED[10]; |
c = c << 8; |
c = c | TEXT_FIPS_DATATYPE_T03_DERIVATED[11]; |
v_ecb.value.integer = c; |
|
}else if(counter_write == 13 ) |
{ |
d = d | TEXT_FIPS_DATATYPE_T03_DERIVATED[12]; |
d = d << 8; |
d = d | TEXT_FIPS_DATATYPE_T03_DERIVATED[13]; |
d = d << 8; |
d = d | TEXT_FIPS_DATATYPE_T03_DERIVATED[14]; |
d = d << 8; |
d = d | TEXT_FIPS_DATATYPE_T03_DERIVATED[15]; |
v_ecb.value.integer = d; |
|
} |
|
|
|
} |
|
|
/aes_bfm_encryption_ecb.h
248,11 → 248,38
}else if(counter_write == 9)//ENABLE CR |
{ |
|
v_ecb.value.integer = ADDR_AES_CR; |
vpi_put_value(PADDR, &v_ecb, NULL, vpiNoDelay); |
if(DATATYPE == TYPE_00)// NO DINR DOUTR SWAP DATA |
{ |
v_ecb.value.integer = ADDR_AES_CR; |
vpi_put_value(PADDR, &v_ecb, NULL, vpiNoDelay); |
|
v_ecb.value.integer = 1; |
vpi_put_value(PWDATA, &v_ecb, &t_ecb, vpiTransportDelay); |
v_ecb.value.integer = 1; |
vpi_put_value(PWDATA, &v_ecb, &t_ecb, vpiTransportDelay); |
|
}else if(DATATYPE == TYPE_01)// 16 BIT DINR DOUTR SWAP DATA |
{ |
v_ecb.value.integer = ADDR_AES_CR; |
vpi_put_value(PADDR, &v_ecb, NULL, vpiNoDelay); |
|
v_ecb.value.integer = 3; |
vpi_put_value(PWDATA, &v_ecb, &t_ecb, vpiTransportDelay); |
|
}else if(DATATYPE == TYPE_02)// 8 BIT DINR DOUTR SWAP DATA |
{ |
v_ecb.value.integer = ADDR_AES_CR; |
vpi_put_value(PADDR, &v_ecb, NULL, vpiNoDelay); |
|
v_ecb.value.integer = 5; |
vpi_put_value(PWDATA, &v_ecb, &t_ecb, vpiTransportDelay); |
|
}else if(DATATYPE == TYPE_03)// BIT DINR DOUTR SWAP DATA |
{ |
v_ecb.value.integer = ADDR_AES_CR; |
vpi_put_value(PADDR, &v_ecb, NULL, vpiNoDelay); |
|
v_ecb.value.integer = 7; |
vpi_put_value(PWDATA, &v_ecb, &t_ecb, vpiTransportDelay); |
} |
|
}else if(counter_write > 9 && counter_write < 14) //WRITE DINR |
{ |
264,51 → 291,107
if(FIPS_ENABLE == FIPS) |
{ |
|
if(counter_write == 10) |
if(DATATYPE == TYPE_00) |
{ |
a = a | TEXT_FIPS_NOT_DERIVATED[0]; |
a = a << 8; |
a = a | TEXT_FIPS_NOT_DERIVATED[1]; |
a = a << 8; |
a = a | TEXT_FIPS_NOT_DERIVATED[2]; |
a = a << 8; |
a = a | TEXT_FIPS_NOT_DERIVATED[3]; |
v_ecb.value.integer = a; |
|
}else if(counter_write == 11) |
{ |
b = b | TEXT_FIPS_NOT_DERIVATED[4]; |
b = b << 8; |
b = b | TEXT_FIPS_NOT_DERIVATED[5]; |
b = b << 8; |
b = b | TEXT_FIPS_NOT_DERIVATED[6]; |
b = b << 8; |
b = b | TEXT_FIPS_NOT_DERIVATED[7]; |
v_ecb.value.integer = b; |
if(counter_write == 10) |
{ |
a = a | TEXT_FIPS_NOT_DERIVATED[0]; |
a = a << 8; |
a = a | TEXT_FIPS_NOT_DERIVATED[1]; |
a = a << 8; |
a = a | TEXT_FIPS_NOT_DERIVATED[2]; |
a = a << 8; |
a = a | TEXT_FIPS_NOT_DERIVATED[3]; |
v_ecb.value.integer = a; |
|
}else if(counter_write == 12 ) |
{ |
}else if(counter_write == 11) |
{ |
b = b | TEXT_FIPS_NOT_DERIVATED[4]; |
b = b << 8; |
b = b | TEXT_FIPS_NOT_DERIVATED[5]; |
b = b << 8; |
b = b | TEXT_FIPS_NOT_DERIVATED[6]; |
b = b << 8; |
b = b | TEXT_FIPS_NOT_DERIVATED[7]; |
v_ecb.value.integer = b; |
|
c = c | TEXT_FIPS_NOT_DERIVATED[8]; |
c = c << 8; |
c = c | TEXT_FIPS_NOT_DERIVATED[9]; |
c = c << 8; |
c = c | TEXT_FIPS_NOT_DERIVATED[10]; |
c = c << 8; |
c = c | TEXT_FIPS_NOT_DERIVATED[11]; |
v_ecb.value.integer = c; |
}else if(counter_write == 12 ) |
{ |
|
}else if(counter_write == 13 ) |
c = c | TEXT_FIPS_NOT_DERIVATED[8]; |
c = c << 8; |
c = c | TEXT_FIPS_NOT_DERIVATED[9]; |
c = c << 8; |
c = c | TEXT_FIPS_NOT_DERIVATED[10]; |
c = c << 8; |
c = c | TEXT_FIPS_NOT_DERIVATED[11]; |
v_ecb.value.integer = c; |
|
}else if(counter_write == 13 ) |
{ |
d = d | TEXT_FIPS_NOT_DERIVATED[12]; |
d = d << 8; |
d = d | TEXT_FIPS_NOT_DERIVATED[13]; |
d = d << 8; |
d = d | TEXT_FIPS_NOT_DERIVATED[14]; |
d = d << 8; |
d = d | TEXT_FIPS_NOT_DERIVATED[15]; |
v_ecb.value.integer = d; |
|
} |
|
}else if(DATATYPE > TYPE_00) |
{ |
d = d | TEXT_FIPS_NOT_DERIVATED[12]; |
d = d << 8; |
d = d | TEXT_FIPS_NOT_DERIVATED[13]; |
d = d << 8; |
d = d | TEXT_FIPS_NOT_DERIVATED[14]; |
d = d << 8; |
d = d | TEXT_FIPS_NOT_DERIVATED[15]; |
v_ecb.value.integer = d; |
|
|
if(counter_write == 10) |
{ |
a = a | TEXT_FIPS_NOT_DATATYPE_DERIVATED[0]; |
a = a << 8; |
a = a | TEXT_FIPS_NOT_DATATYPE_DERIVATED[1]; |
a = a << 8; |
a = a | TEXT_FIPS_NOT_DATATYPE_DERIVATED[2]; |
a = a << 8; |
a = a | TEXT_FIPS_NOT_DATATYPE_DERIVATED[3]; |
v_ecb.value.integer = a; |
|
}else if(counter_write == 11) |
{ |
b = b | TEXT_FIPS_NOT_DATATYPE_DERIVATED[4]; |
b = b << 8; |
b = b | TEXT_FIPS_NOT_DATATYPE_DERIVATED[5]; |
b = b << 8; |
b = b | TEXT_FIPS_NOT_DATATYPE_DERIVATED[6]; |
b = b << 8; |
b = b | TEXT_FIPS_NOT_DATATYPE_DERIVATED[7]; |
v_ecb.value.integer = b; |
|
}else if(counter_write == 12 ) |
{ |
|
c = c | TEXT_FIPS_NOT_DATATYPE_DERIVATED[8]; |
c = c << 8; |
c = c | TEXT_FIPS_NOT_DATATYPE_DERIVATED[9]; |
c = c << 8; |
c = c | TEXT_FIPS_NOT_DATATYPE_DERIVATED[10]; |
c = c << 8; |
c = c | TEXT_FIPS_NOT_DATATYPE_DERIVATED[11]; |
v_ecb.value.integer = c; |
|
}else if(counter_write == 13 ) |
{ |
d = d | TEXT_FIPS_NOT_DATATYPE_DERIVATED[12]; |
d = d << 8; |
d = d | TEXT_FIPS_NOT_DATATYPE_DERIVATED[13]; |
d = d << 8; |
d = d | TEXT_FIPS_NOT_DATATYPE_DERIVATED[14]; |
d = d << 8; |
d = d | TEXT_FIPS_NOT_DATATYPE_DERIVATED[15]; |
v_ecb.value.integer = d; |
|
} |
|
} |
|
|
317,7 → 400,9
v_ecb.value.integer = data_in(rd); |
} |
|
vpi_put_value(PWDATA, &v_ecb, &t_ecb, vpiTransportDelay); |
vpi_put_value(PWDATA, &v_ecb, NULL, vpiNoDelay); |
|
//vpi_put_value(PWDATA, &v_ecb, &t_ecb, vpiTransportDelay); |
|
a = 0; |
b = 0; |
336,6 → 421,8
{ |
counter_write = 0; |
STATE = WAIT_SR; |
|
|
} |
|
break; |
342,6 → 429,7
|
case WAIT_SR: |
|
|
v_ecb.value.integer = ADDR_AES_SR; |
vpi_put_value(PADDR, &v_ecb, NULL, vpiNoDelay); |
|
/aes_bfm_encryption_dma_ecb.h
251,15 → 251,38
}else if(counter_write == 9)//ENABLE CR |
{ |
|
v_ecb.value.integer = ADDR_AES_CR; |
vpi_put_value(PADDR, &v_ecb, NULL, vpiNoDelay); |
if(DATATYPE == TYPE_00)// NO DINR DOUTR SWAP DATA |
{ |
v_ecb.value.integer = ADDR_AES_CR; |
vpi_put_value(PADDR, &v_ecb, NULL, vpiNoDelay); |
|
//v_ecb.value.integer = 1; |
//vpi_put_value(PWDATA, &v_ecb, NULL, vpiNoDelay); |
v_ecb.value.integer = 6145; |
vpi_put_value(PWDATA, &v_ecb, &t_ecb, vpiTransportDelay); |
|
v_ecb.value.integer = 6145;//data_in(rd); |
vpi_put_value(PWDATA, &v_ecb, &t_ecb, vpiTransportDelay); |
|
}else if(DATATYPE == TYPE_01)// 16 BIT DINR DOUTR SWAP DATA |
{ |
v_ecb.value.integer = ADDR_AES_CR; |
vpi_put_value(PADDR, &v_ecb, NULL, vpiNoDelay); |
|
v_ecb.value.integer = 6147; |
vpi_put_value(PWDATA, &v_ecb, &t_ecb, vpiTransportDelay); |
|
}else if(DATATYPE == TYPE_02)// 8 BIT DINR DOUTR SWAP DATA |
{ |
v_ecb.value.integer = ADDR_AES_CR; |
vpi_put_value(PADDR, &v_ecb, NULL, vpiNoDelay); |
|
v_ecb.value.integer = 6149; |
vpi_put_value(PWDATA, &v_ecb, &t_ecb, vpiTransportDelay); |
|
}else if(DATATYPE == TYPE_03)// BIT DINR DOUTR SWAP DATA |
{ |
v_ecb.value.integer = ADDR_AES_CR; |
vpi_put_value(PADDR, &v_ecb, NULL, vpiNoDelay); |
|
v_ecb.value.integer = 6151; |
vpi_put_value(PWDATA, &v_ecb, &t_ecb, vpiTransportDelay); |
} |
}else if(counter_write > 9 && counter_write < 14) //WRITE DINR |
{ |
|
270,51 → 293,107
if(FIPS_ENABLE == FIPS) |
{ |
|
if(counter_write == 10) |
if(DATATYPE == TYPE_00) |
{ |
a = a | TEXT_FIPS_NOT_DERIVATED[0]; |
a = a << 8; |
a = a | TEXT_FIPS_NOT_DERIVATED[1]; |
a = a << 8; |
a = a | TEXT_FIPS_NOT_DERIVATED[2]; |
a = a << 8; |
a = a | TEXT_FIPS_NOT_DERIVATED[3]; |
v_ecb.value.integer = a; |
|
}else if(counter_write == 11) |
{ |
b = b | TEXT_FIPS_NOT_DERIVATED[4]; |
b = b << 8; |
b = b | TEXT_FIPS_NOT_DERIVATED[5]; |
b = b << 8; |
b = b | TEXT_FIPS_NOT_DERIVATED[6]; |
b = b << 8; |
b = b | TEXT_FIPS_NOT_DERIVATED[7]; |
v_ecb.value.integer = b; |
if(counter_write == 10) |
{ |
a = a | TEXT_FIPS_NOT_DERIVATED[0]; |
a = a << 8; |
a = a | TEXT_FIPS_NOT_DERIVATED[1]; |
a = a << 8; |
a = a | TEXT_FIPS_NOT_DERIVATED[2]; |
a = a << 8; |
a = a | TEXT_FIPS_NOT_DERIVATED[3]; |
v_ecb.value.integer = a; |
|
}else if(counter_write == 12 ) |
{ |
}else if(counter_write == 11) |
{ |
b = b | TEXT_FIPS_NOT_DERIVATED[4]; |
b = b << 8; |
b = b | TEXT_FIPS_NOT_DERIVATED[5]; |
b = b << 8; |
b = b | TEXT_FIPS_NOT_DERIVATED[6]; |
b = b << 8; |
b = b | TEXT_FIPS_NOT_DERIVATED[7]; |
v_ecb.value.integer = b; |
|
c = c | TEXT_FIPS_NOT_DERIVATED[8]; |
c = c << 8; |
c = c | TEXT_FIPS_NOT_DERIVATED[9]; |
c = c << 8; |
c = c | TEXT_FIPS_NOT_DERIVATED[10]; |
c = c << 8; |
c = c | TEXT_FIPS_NOT_DERIVATED[11]; |
v_ecb.value.integer = c; |
}else if(counter_write == 12 ) |
{ |
|
}else if(counter_write == 13 ) |
c = c | TEXT_FIPS_NOT_DERIVATED[8]; |
c = c << 8; |
c = c | TEXT_FIPS_NOT_DERIVATED[9]; |
c = c << 8; |
c = c | TEXT_FIPS_NOT_DERIVATED[10]; |
c = c << 8; |
c = c | TEXT_FIPS_NOT_DERIVATED[11]; |
v_ecb.value.integer = c; |
|
}else if(counter_write == 13 ) |
{ |
d = d | TEXT_FIPS_NOT_DERIVATED[12]; |
d = d << 8; |
d = d | TEXT_FIPS_NOT_DERIVATED[13]; |
d = d << 8; |
d = d | TEXT_FIPS_NOT_DERIVATED[14]; |
d = d << 8; |
d = d | TEXT_FIPS_NOT_DERIVATED[15]; |
v_ecb.value.integer = d; |
|
} |
|
}else if(DATATYPE > TYPE_00) |
{ |
d = d | TEXT_FIPS_NOT_DERIVATED[12]; |
d = d << 8; |
d = d | TEXT_FIPS_NOT_DERIVATED[13]; |
d = d << 8; |
d = d | TEXT_FIPS_NOT_DERIVATED[14]; |
d = d << 8; |
d = d | TEXT_FIPS_NOT_DERIVATED[15]; |
v_ecb.value.integer = d; |
|
|
if(counter_write == 10) |
{ |
a = a | TEXT_FIPS_NOT_DATATYPE_DERIVATED[0]; |
a = a << 8; |
a = a | TEXT_FIPS_NOT_DATATYPE_DERIVATED[1]; |
a = a << 8; |
a = a | TEXT_FIPS_NOT_DATATYPE_DERIVATED[2]; |
a = a << 8; |
a = a | TEXT_FIPS_NOT_DATATYPE_DERIVATED[3]; |
v_ecb.value.integer = a; |
|
}else if(counter_write == 11) |
{ |
b = b | TEXT_FIPS_NOT_DATATYPE_DERIVATED[4]; |
b = b << 8; |
b = b | TEXT_FIPS_NOT_DATATYPE_DERIVATED[5]; |
b = b << 8; |
b = b | TEXT_FIPS_NOT_DATATYPE_DERIVATED[6]; |
b = b << 8; |
b = b | TEXT_FIPS_NOT_DATATYPE_DERIVATED[7]; |
v_ecb.value.integer = b; |
|
}else if(counter_write == 12 ) |
{ |
|
c = c | TEXT_FIPS_NOT_DATATYPE_DERIVATED[8]; |
c = c << 8; |
c = c | TEXT_FIPS_NOT_DATATYPE_DERIVATED[9]; |
c = c << 8; |
c = c | TEXT_FIPS_NOT_DATATYPE_DERIVATED[10]; |
c = c << 8; |
c = c | TEXT_FIPS_NOT_DATATYPE_DERIVATED[11]; |
v_ecb.value.integer = c; |
|
}else if(counter_write == 13 ) |
{ |
d = d | TEXT_FIPS_NOT_DATATYPE_DERIVATED[12]; |
d = d << 8; |
d = d | TEXT_FIPS_NOT_DATATYPE_DERIVATED[13]; |
d = d << 8; |
d = d | TEXT_FIPS_NOT_DATATYPE_DERIVATED[14]; |
d = d << 8; |
d = d | TEXT_FIPS_NOT_DATATYPE_DERIVATED[15]; |
v_ecb.value.integer = d; |
|
} |
|
} |
|
|
/aes_bfm_derivation_decryption_ccfie_ecb.h
243,14 → 243,38
if(counter_write == 9) |
{ |
|
v_ecb.value.integer = vector_address[counter_write]; |
vpi_put_value(PADDR, &v_ecb, NULL, vpiNoDelay); |
if(DATATYPE == TYPE_00)// NO DINR DOUTR SWAP DATA |
{ |
v_ecb.value.integer = ADDR_AES_CR; |
vpi_put_value(PADDR, &v_ecb, NULL, vpiNoDelay); |
|
t_ecb.type = vpiScaledRealTime; |
t_ecb.real = 0; |
v_ecb.format=vpiIntVal; |
v_ecb.value.integer = 537;//data_in(rd); |
vpi_put_value(PWDATA, &v_ecb, &t_ecb, vpiTransportDelay); |
v_ecb.value.integer = 537; |
vpi_put_value(PWDATA, &v_ecb, &t_ecb, vpiTransportDelay); |
|
}else if(DATATYPE == TYPE_01)// 16 BIT DINR DOUTR SWAP DATA |
{ |
v_ecb.value.integer = ADDR_AES_CR; |
vpi_put_value(PADDR, &v_ecb, NULL, vpiNoDelay); |
|
v_ecb.value.integer = 539; |
vpi_put_value(PWDATA, &v_ecb, &t_ecb, vpiTransportDelay); |
|
}else if(DATATYPE == TYPE_02)// 8 BIT DINR DOUTR SWAP DATA |
{ |
v_ecb.value.integer = ADDR_AES_CR; |
vpi_put_value(PADDR, &v_ecb, NULL, vpiNoDelay); |
|
v_ecb.value.integer = 541; |
vpi_put_value(PWDATA, &v_ecb, &t_ecb, vpiTransportDelay); |
|
}else if(DATATYPE == TYPE_03)// BIT DINR DOUTR SWAP DATA |
{ |
v_ecb.value.integer = ADDR_AES_CR; |
vpi_put_value(PADDR, &v_ecb, NULL, vpiNoDelay); |
|
v_ecb.value.integer = 543; |
vpi_put_value(PWDATA, &v_ecb, &t_ecb, vpiTransportDelay); |
} |
|
} |
|
265,51 → 289,209
if(FIPS_ENABLE == FIPS) |
{ |
|
if(counter_write == 10) |
if(DATATYPE == TYPE_00) |
{ |
a = a | TEXT_FIPS_DERIVATED[0]; |
a = a << 8; |
a = a | TEXT_FIPS_DERIVATED[1]; |
a = a << 8; |
a = a | TEXT_FIPS_DERIVATED[2]; |
a = a << 8; |
a = a | TEXT_FIPS_DERIVATED[3]; |
v_ecb.value.integer = a; |
|
}else if(counter_write == 11) |
if(counter_write == 10) |
{ |
a = a | TEXT_FIPS_DERIVATED[0]; |
a = a << 8; |
a = a | TEXT_FIPS_DERIVATED[1]; |
a = a << 8; |
a = a | TEXT_FIPS_DERIVATED[2]; |
a = a << 8; |
a = a | TEXT_FIPS_DERIVATED[3]; |
v_ecb.value.integer = a; |
|
}else if(counter_write == 11) |
{ |
b = b | TEXT_FIPS_DERIVATED[4]; |
b = b << 8; |
b = b | TEXT_FIPS_DERIVATED[5]; |
b = b << 8; |
b = b | TEXT_FIPS_DERIVATED[6]; |
b = b << 8; |
b = b | TEXT_FIPS_DERIVATED[7]; |
v_ecb.value.integer = b; |
|
}else if(counter_write == 12 ) |
{ |
|
c = c | TEXT_FIPS_DERIVATED[8]; |
c = c << 8; |
c = c | TEXT_FIPS_DERIVATED[9]; |
c = c << 8; |
c = c | TEXT_FIPS_DERIVATED[10]; |
c = c << 8; |
c = c | TEXT_FIPS_DERIVATED[11]; |
v_ecb.value.integer = c; |
|
}else if(counter_write == 13 ) |
{ |
d = d | TEXT_FIPS_DERIVATED[12]; |
d = d << 8; |
d = d | TEXT_FIPS_DERIVATED[13]; |
d = d << 8; |
d = d | TEXT_FIPS_DERIVATED[14]; |
d = d << 8; |
d = d | TEXT_FIPS_DERIVATED[15]; |
v_ecb.value.integer = d; |
|
} |
|
}else if(DATATYPE == TYPE_01) |
{ |
b = b | TEXT_FIPS_DERIVATED[4]; |
b = b << 8; |
b = b | TEXT_FIPS_DERIVATED[5]; |
b = b << 8; |
b = b | TEXT_FIPS_DERIVATED[6]; |
b = b << 8; |
b = b | TEXT_FIPS_DERIVATED[7]; |
v_ecb.value.integer = b; |
|
}else if(counter_write == 12 ) |
|
if(counter_write == 10) |
{ |
a = a | TEXT_FIPS_DATATYPE_T01_DERIVATED[0]; |
a = a << 8; |
a = a | TEXT_FIPS_DATATYPE_T01_DERIVATED[1]; |
a = a << 8; |
a = a | TEXT_FIPS_DATATYPE_T01_DERIVATED[2]; |
a = a << 8; |
a = a | TEXT_FIPS_DATATYPE_T01_DERIVATED[3]; |
v_ecb.value.integer = a; |
|
}else if(counter_write == 11) |
{ |
b = b | TEXT_FIPS_DATATYPE_T01_DERIVATED[4]; |
b = b << 8; |
b = b | TEXT_FIPS_DATATYPE_T01_DERIVATED[5]; |
b = b << 8; |
b = b | TEXT_FIPS_DATATYPE_T01_DERIVATED[6]; |
b = b << 8; |
b = b | TEXT_FIPS_DATATYPE_T01_DERIVATED[7]; |
v_ecb.value.integer = b; |
|
}else if(counter_write == 12 ) |
{ |
|
c = c | TEXT_FIPS_DATATYPE_T01_DERIVATED[8]; |
c = c << 8; |
c = c | TEXT_FIPS_DATATYPE_T01_DERIVATED[9]; |
c = c << 8; |
c = c | TEXT_FIPS_DATATYPE_T01_DERIVATED[10]; |
c = c << 8; |
c = c | TEXT_FIPS_DATATYPE_T01_DERIVATED[11]; |
v_ecb.value.integer = c; |
|
}else if(counter_write == 13 ) |
{ |
d = d | TEXT_FIPS_DATATYPE_T01_DERIVATED[12]; |
d = d << 8; |
d = d | TEXT_FIPS_DATATYPE_T01_DERIVATED[13]; |
d = d << 8; |
d = d | TEXT_FIPS_DATATYPE_T01_DERIVATED[14]; |
d = d << 8; |
d = d | TEXT_FIPS_DATATYPE_T01_DERIVATED[15]; |
v_ecb.value.integer = d; |
|
} |
|
}else if(DATATYPE == TYPE_02) |
{ |
if(counter_write == 10) |
{ |
a = a | TEXT_FIPS_DATATYPE_T02_DERIVATED[0]; |
a = a << 8; |
a = a | TEXT_FIPS_DATATYPE_T02_DERIVATED[1]; |
a = a << 8; |
a = a | TEXT_FIPS_DATATYPE_T02_DERIVATED[2]; |
a = a << 8; |
a = a | TEXT_FIPS_DATATYPE_T02_DERIVATED[3]; |
v_ecb.value.integer = a; |
|
c = c | TEXT_FIPS_DERIVATED[8]; |
c = c << 8; |
c = c | TEXT_FIPS_DERIVATED[9]; |
c = c << 8; |
c = c | TEXT_FIPS_DERIVATED[10]; |
c = c << 8; |
c = c | TEXT_FIPS_DERIVATED[11]; |
v_ecb.value.integer = c; |
}else if(counter_write == 11) |
{ |
b = b | TEXT_FIPS_DATATYPE_T02_DERIVATED[4]; |
b = b << 8; |
b = b | TEXT_FIPS_DATATYPE_T02_DERIVATED[5]; |
b = b << 8; |
b = b | TEXT_FIPS_DATATYPE_T02_DERIVATED[6]; |
b = b << 8; |
b = b | TEXT_FIPS_DATATYPE_T02_DERIVATED[7]; |
v_ecb.value.integer = b; |
|
}else if(counter_write == 13 ) |
}else if(counter_write == 12 ) |
{ |
|
c = c | TEXT_FIPS_DATATYPE_T02_DERIVATED[8]; |
c = c << 8; |
c = c | TEXT_FIPS_DATATYPE_T02_DERIVATED[9]; |
c = c << 8; |
c = c | TEXT_FIPS_DATATYPE_T02_DERIVATED[10]; |
c = c << 8; |
c = c | TEXT_FIPS_DATATYPE_T02_DERIVATED[11]; |
v_ecb.value.integer = c; |
|
}else if(counter_write == 13 ) |
{ |
d = d | TEXT_FIPS_DATATYPE_T02_DERIVATED[12]; |
d = d << 8; |
d = d | TEXT_FIPS_DATATYPE_T02_DERIVATED[13]; |
d = d << 8; |
d = d | TEXT_FIPS_DATATYPE_T02_DERIVATED[14]; |
d = d << 8; |
d = d | TEXT_FIPS_DATATYPE_T02_DERIVATED[15]; |
v_ecb.value.integer = d; |
|
} |
|
|
|
}else if(DATATYPE == TYPE_03) |
{ |
d = d | TEXT_FIPS_DERIVATED[12]; |
d = d << 8; |
d = d | TEXT_FIPS_DERIVATED[13]; |
d = d << 8; |
d = d | TEXT_FIPS_DERIVATED[14]; |
d = d << 8; |
d = d | TEXT_FIPS_DERIVATED[15]; |
v_ecb.value.integer = d; |
if(counter_write == 10) |
{ |
a = a | TEXT_FIPS_DATATYPE_T03_DERIVATED[0]; |
a = a << 8; |
a = a | TEXT_FIPS_DATATYPE_T03_DERIVATED[1]; |
a = a << 8; |
a = a | TEXT_FIPS_DATATYPE_T03_DERIVATED[2]; |
a = a << 8; |
a = a | TEXT_FIPS_DATATYPE_T03_DERIVATED[3]; |
v_ecb.value.integer = a; |
|
}else if(counter_write == 11) |
{ |
b = b | TEXT_FIPS_DATATYPE_T03_DERIVATED[4]; |
b = b << 8; |
b = b | TEXT_FIPS_DATATYPE_T03_DERIVATED[5]; |
b = b << 8; |
b = b | TEXT_FIPS_DATATYPE_T03_DERIVATED[6]; |
b = b << 8; |
b = b | TEXT_FIPS_DATATYPE_T03_DERIVATED[7]; |
v_ecb.value.integer = b; |
|
}else if(counter_write == 12 ) |
{ |
|
c = c | TEXT_FIPS_DATATYPE_T03_DERIVATED[8]; |
c = c << 8; |
c = c | TEXT_FIPS_DATATYPE_T03_DERIVATED[9]; |
c = c << 8; |
c = c | TEXT_FIPS_DATATYPE_T03_DERIVATED[10]; |
c = c << 8; |
c = c | TEXT_FIPS_DATATYPE_T03_DERIVATED[11]; |
v_ecb.value.integer = c; |
|
}else if(counter_write == 13 ) |
{ |
d = d | TEXT_FIPS_DATATYPE_T03_DERIVATED[12]; |
d = d << 8; |
d = d | TEXT_FIPS_DATATYPE_T03_DERIVATED[13]; |
d = d << 8; |
d = d | TEXT_FIPS_DATATYPE_T03_DERIVATED[14]; |
d = d << 8; |
d = d | TEXT_FIPS_DATATYPE_T03_DERIVATED[15]; |
v_ecb.value.integer = d; |
|
} |
|
|
|
} |
|
|
/aes_bfm_decryption_ecb.h
243,14 → 243,38
if(counter_write == 9) |
{ |
|
v_ecb.value.integer = ADDR_AES_CR; |
vpi_put_value(PADDR, &v_ecb, NULL, vpiNoDelay); |
if(DATATYPE == TYPE_00)// NO DINR DOUTR SWAP DATA |
{ |
v_ecb.value.integer = ADDR_AES_CR; |
vpi_put_value(PADDR, &v_ecb, NULL, vpiNoDelay); |
|
t_ecb.type = vpiScaledRealTime; |
t_ecb.real = 0; |
v_ecb.format=vpiIntVal; |
v_ecb.value.integer = 17; |
vpi_put_value(PWDATA, &v_ecb, &t_ecb, vpiTransportDelay); |
v_ecb.value.integer = 17; |
vpi_put_value(PWDATA, &v_ecb, &t_ecb, vpiTransportDelay); |
|
}else if(DATATYPE == TYPE_01)// 16 BIT DINR DOUTR SWAP DATA |
{ |
v_ecb.value.integer = ADDR_AES_CR; |
vpi_put_value(PADDR, &v_ecb, NULL, vpiNoDelay); |
|
v_ecb.value.integer = 19; |
vpi_put_value(PWDATA, &v_ecb, &t_ecb, vpiTransportDelay); |
|
}else if(DATATYPE == TYPE_02)// 8 BIT DINR DOUTR SWAP DATA |
{ |
v_ecb.value.integer = ADDR_AES_CR; |
vpi_put_value(PADDR, &v_ecb, NULL, vpiNoDelay); |
|
v_ecb.value.integer = 21; |
vpi_put_value(PWDATA, &v_ecb, &t_ecb, vpiTransportDelay); |
|
}else if(DATATYPE == TYPE_03)// BIT DINR DOUTR SWAP DATA |
{ |
v_ecb.value.integer = ADDR_AES_CR; |
vpi_put_value(PADDR, &v_ecb, NULL, vpiNoDelay); |
|
v_ecb.value.integer = 23; |
vpi_put_value(PWDATA, &v_ecb, &t_ecb, vpiTransportDelay); |
} |
|
} |
|
265,51 → 289,209
if(FIPS_ENABLE == FIPS) |
{ |
|
if(counter_write == 10) |
if(DATATYPE == TYPE_00) |
{ |
a = a | TEXT_FIPS_DERIVATED[0]; |
a = a << 8; |
a = a | TEXT_FIPS_DERIVATED[1]; |
a = a << 8; |
a = a | TEXT_FIPS_DERIVATED[2]; |
a = a << 8; |
a = a | TEXT_FIPS_DERIVATED[3]; |
v_ecb.value.integer = a; |
|
}else if(counter_write == 11) |
if(counter_write == 10) |
{ |
a = a | TEXT_FIPS_DERIVATED[0]; |
a = a << 8; |
a = a | TEXT_FIPS_DERIVATED[1]; |
a = a << 8; |
a = a | TEXT_FIPS_DERIVATED[2]; |
a = a << 8; |
a = a | TEXT_FIPS_DERIVATED[3]; |
v_ecb.value.integer = a; |
|
}else if(counter_write == 11) |
{ |
b = b | TEXT_FIPS_DERIVATED[4]; |
b = b << 8; |
b = b | TEXT_FIPS_DERIVATED[5]; |
b = b << 8; |
b = b | TEXT_FIPS_DERIVATED[6]; |
b = b << 8; |
b = b | TEXT_FIPS_DERIVATED[7]; |
v_ecb.value.integer = b; |
|
}else if(counter_write == 12 ) |
{ |
|
c = c | TEXT_FIPS_DERIVATED[8]; |
c = c << 8; |
c = c | TEXT_FIPS_DERIVATED[9]; |
c = c << 8; |
c = c | TEXT_FIPS_DERIVATED[10]; |
c = c << 8; |
c = c | TEXT_FIPS_DERIVATED[11]; |
v_ecb.value.integer = c; |
|
}else if(counter_write == 13 ) |
{ |
d = d | TEXT_FIPS_DERIVATED[12]; |
d = d << 8; |
d = d | TEXT_FIPS_DERIVATED[13]; |
d = d << 8; |
d = d | TEXT_FIPS_DERIVATED[14]; |
d = d << 8; |
d = d | TEXT_FIPS_DERIVATED[15]; |
v_ecb.value.integer = d; |
|
} |
|
}else if(DATATYPE == TYPE_01) |
{ |
b = b | TEXT_FIPS_DERIVATED[4]; |
b = b << 8; |
b = b | TEXT_FIPS_DERIVATED[5]; |
b = b << 8; |
b = b | TEXT_FIPS_DERIVATED[6]; |
b = b << 8; |
b = b | TEXT_FIPS_DERIVATED[7]; |
v_ecb.value.integer = b; |
|
}else if(counter_write == 12 ) |
|
if(counter_write == 10) |
{ |
a = a | TEXT_FIPS_DATATYPE_T01_DERIVATED[0]; |
a = a << 8; |
a = a | TEXT_FIPS_DATATYPE_T01_DERIVATED[1]; |
a = a << 8; |
a = a | TEXT_FIPS_DATATYPE_T01_DERIVATED[2]; |
a = a << 8; |
a = a | TEXT_FIPS_DATATYPE_T01_DERIVATED[3]; |
v_ecb.value.integer = a; |
|
}else if(counter_write == 11) |
{ |
b = b | TEXT_FIPS_DATATYPE_T01_DERIVATED[4]; |
b = b << 8; |
b = b | TEXT_FIPS_DATATYPE_T01_DERIVATED[5]; |
b = b << 8; |
b = b | TEXT_FIPS_DATATYPE_T01_DERIVATED[6]; |
b = b << 8; |
b = b | TEXT_FIPS_DATATYPE_T01_DERIVATED[7]; |
v_ecb.value.integer = b; |
|
}else if(counter_write == 12 ) |
{ |
|
c = c | TEXT_FIPS_DATATYPE_T01_DERIVATED[8]; |
c = c << 8; |
c = c | TEXT_FIPS_DATATYPE_T01_DERIVATED[9]; |
c = c << 8; |
c = c | TEXT_FIPS_DATATYPE_T01_DERIVATED[10]; |
c = c << 8; |
c = c | TEXT_FIPS_DATATYPE_T01_DERIVATED[11]; |
v_ecb.value.integer = c; |
|
}else if(counter_write == 13 ) |
{ |
d = d | TEXT_FIPS_DATATYPE_T01_DERIVATED[12]; |
d = d << 8; |
d = d | TEXT_FIPS_DATATYPE_T01_DERIVATED[13]; |
d = d << 8; |
d = d | TEXT_FIPS_DATATYPE_T01_DERIVATED[14]; |
d = d << 8; |
d = d | TEXT_FIPS_DATATYPE_T01_DERIVATED[15]; |
v_ecb.value.integer = d; |
|
} |
|
}else if(DATATYPE == TYPE_02) |
{ |
if(counter_write == 10) |
{ |
a = a | TEXT_FIPS_DATATYPE_T02_DERIVATED[0]; |
a = a << 8; |
a = a | TEXT_FIPS_DATATYPE_T02_DERIVATED[1]; |
a = a << 8; |
a = a | TEXT_FIPS_DATATYPE_T02_DERIVATED[2]; |
a = a << 8; |
a = a | TEXT_FIPS_DATATYPE_T02_DERIVATED[3]; |
v_ecb.value.integer = a; |
|
c = c | TEXT_FIPS_DERIVATED[8]; |
c = c << 8; |
c = c | TEXT_FIPS_DERIVATED[9]; |
c = c << 8; |
c = c | TEXT_FIPS_DERIVATED[10]; |
c = c << 8; |
c = c | TEXT_FIPS_DERIVATED[11]; |
v_ecb.value.integer = c; |
}else if(counter_write == 11) |
{ |
b = b | TEXT_FIPS_DATATYPE_T02_DERIVATED[4]; |
b = b << 8; |
b = b | TEXT_FIPS_DATATYPE_T02_DERIVATED[5]; |
b = b << 8; |
b = b | TEXT_FIPS_DATATYPE_T02_DERIVATED[6]; |
b = b << 8; |
b = b | TEXT_FIPS_DATATYPE_T02_DERIVATED[7]; |
v_ecb.value.integer = b; |
|
}else if(counter_write == 13 ) |
}else if(counter_write == 12 ) |
{ |
|
c = c | TEXT_FIPS_DATATYPE_T02_DERIVATED[8]; |
c = c << 8; |
c = c | TEXT_FIPS_DATATYPE_T02_DERIVATED[9]; |
c = c << 8; |
c = c | TEXT_FIPS_DATATYPE_T02_DERIVATED[10]; |
c = c << 8; |
c = c | TEXT_FIPS_DATATYPE_T02_DERIVATED[11]; |
v_ecb.value.integer = c; |
|
}else if(counter_write == 13 ) |
{ |
d = d | TEXT_FIPS_DATATYPE_T02_DERIVATED[12]; |
d = d << 8; |
d = d | TEXT_FIPS_DATATYPE_T02_DERIVATED[13]; |
d = d << 8; |
d = d | TEXT_FIPS_DATATYPE_T02_DERIVATED[14]; |
d = d << 8; |
d = d | TEXT_FIPS_DATATYPE_T02_DERIVATED[15]; |
v_ecb.value.integer = d; |
|
} |
|
|
|
}else if(DATATYPE == TYPE_03) |
{ |
d = d | TEXT_FIPS_DERIVATED[12]; |
d = d << 8; |
d = d | TEXT_FIPS_DERIVATED[13]; |
d = d << 8; |
d = d | TEXT_FIPS_DERIVATED[14]; |
d = d << 8; |
d = d | TEXT_FIPS_DERIVATED[15]; |
v_ecb.value.integer = d; |
if(counter_write == 10) |
{ |
a = a | TEXT_FIPS_DATATYPE_T03_DERIVATED[0]; |
a = a << 8; |
a = a | TEXT_FIPS_DATATYPE_T03_DERIVATED[1]; |
a = a << 8; |
a = a | TEXT_FIPS_DATATYPE_T03_DERIVATED[2]; |
a = a << 8; |
a = a | TEXT_FIPS_DATATYPE_T03_DERIVATED[3]; |
v_ecb.value.integer = a; |
|
}else if(counter_write == 11) |
{ |
b = b | TEXT_FIPS_DATATYPE_T03_DERIVATED[4]; |
b = b << 8; |
b = b | TEXT_FIPS_DATATYPE_T03_DERIVATED[5]; |
b = b << 8; |
b = b | TEXT_FIPS_DATATYPE_T03_DERIVATED[6]; |
b = b << 8; |
b = b | TEXT_FIPS_DATATYPE_T03_DERIVATED[7]; |
v_ecb.value.integer = b; |
|
}else if(counter_write == 12 ) |
{ |
|
c = c | TEXT_FIPS_DATATYPE_T03_DERIVATED[8]; |
c = c << 8; |
c = c | TEXT_FIPS_DATATYPE_T03_DERIVATED[9]; |
c = c << 8; |
c = c | TEXT_FIPS_DATATYPE_T03_DERIVATED[10]; |
c = c << 8; |
c = c | TEXT_FIPS_DATATYPE_T03_DERIVATED[11]; |
v_ecb.value.integer = c; |
|
}else if(counter_write == 13 ) |
{ |
d = d | TEXT_FIPS_DATATYPE_T03_DERIVATED[12]; |
d = d << 8; |
d = d | TEXT_FIPS_DATATYPE_T03_DERIVATED[13]; |
d = d << 8; |
d = d | TEXT_FIPS_DATATYPE_T03_DERIVATED[14]; |
d = d << 8; |
d = d | TEXT_FIPS_DATATYPE_T03_DERIVATED[15]; |
v_ecb.value.integer = d; |
|
} |
|
|
|
} |
|
|
/aes_bfm_decryption_dma_ecb.h
266,14 → 266,38
if(counter_write == 9) |
{ |
|
v_ecb.value.integer = vector_address[counter_write]; |
vpi_put_value(PADDR, &v_ecb, NULL, vpiNoDelay); |
if(DATATYPE == TYPE_00)// NO DINR DOUTR SWAP DATA |
{ |
v_ecb.value.integer = ADDR_AES_CR; |
vpi_put_value(PADDR, &v_ecb, NULL, vpiNoDelay); |
|
t_ecb.type = vpiScaledRealTime; |
t_ecb.real = 0; |
v_ecb.format=vpiIntVal; |
v_ecb.value.integer = 6161; |
vpi_put_value(PWDATA, &v_ecb, &t_ecb, vpiTransportDelay); |
v_ecb.value.integer = 6161; |
vpi_put_value(PWDATA, &v_ecb, &t_ecb, vpiTransportDelay); |
|
}else if(DATATYPE == TYPE_01)// 16 BIT DINR DOUTR SWAP DATA |
{ |
v_ecb.value.integer = ADDR_AES_CR; |
vpi_put_value(PADDR, &v_ecb, NULL, vpiNoDelay); |
|
v_ecb.value.integer = 6163; |
vpi_put_value(PWDATA, &v_ecb, &t_ecb, vpiTransportDelay); |
|
}else if(DATATYPE == TYPE_02)// 8 BIT DINR DOUTR SWAP DATA |
{ |
v_ecb.value.integer = ADDR_AES_CR; |
vpi_put_value(PADDR, &v_ecb, NULL, vpiNoDelay); |
|
v_ecb.value.integer = 6165; |
vpi_put_value(PWDATA, &v_ecb, &t_ecb, vpiTransportDelay); |
|
}else if(DATATYPE == TYPE_03)// BIT DINR DOUTR SWAP DATA |
{ |
v_ecb.value.integer = ADDR_AES_CR; |
vpi_put_value(PADDR, &v_ecb, NULL, vpiNoDelay); |
|
v_ecb.value.integer = 6167; |
vpi_put_value(PWDATA, &v_ecb, &t_ecb, vpiTransportDelay); |
} |
|
} |
|
288,54 → 312,211
if(FIPS_ENABLE == FIPS) |
{ |
|
if(counter_write == 10) |
if(DATATYPE == TYPE_00) |
{ |
a = a | TEXT_FIPS_DERIVATED[0]; |
a = a << 8; |
a = a | TEXT_FIPS_DERIVATED[1]; |
a = a << 8; |
a = a | TEXT_FIPS_DERIVATED[2]; |
a = a << 8; |
a = a | TEXT_FIPS_DERIVATED[3]; |
v_ecb.value.integer = a; |
|
}else if(counter_write == 11) |
if(counter_write == 10) |
{ |
a = a | TEXT_FIPS_DERIVATED[0]; |
a = a << 8; |
a = a | TEXT_FIPS_DERIVATED[1]; |
a = a << 8; |
a = a | TEXT_FIPS_DERIVATED[2]; |
a = a << 8; |
a = a | TEXT_FIPS_DERIVATED[3]; |
v_ecb.value.integer = a; |
|
}else if(counter_write == 11) |
{ |
b = b | TEXT_FIPS_DERIVATED[4]; |
b = b << 8; |
b = b | TEXT_FIPS_DERIVATED[5]; |
b = b << 8; |
b = b | TEXT_FIPS_DERIVATED[6]; |
b = b << 8; |
b = b | TEXT_FIPS_DERIVATED[7]; |
v_ecb.value.integer = b; |
|
}else if(counter_write == 12 ) |
{ |
|
c = c | TEXT_FIPS_DERIVATED[8]; |
c = c << 8; |
c = c | TEXT_FIPS_DERIVATED[9]; |
c = c << 8; |
c = c | TEXT_FIPS_DERIVATED[10]; |
c = c << 8; |
c = c | TEXT_FIPS_DERIVATED[11]; |
v_ecb.value.integer = c; |
|
}else if(counter_write == 13 ) |
{ |
d = d | TEXT_FIPS_DERIVATED[12]; |
d = d << 8; |
d = d | TEXT_FIPS_DERIVATED[13]; |
d = d << 8; |
d = d | TEXT_FIPS_DERIVATED[14]; |
d = d << 8; |
d = d | TEXT_FIPS_DERIVATED[15]; |
v_ecb.value.integer = d; |
|
} |
|
}else if(DATATYPE == TYPE_01) |
{ |
b = b | TEXT_FIPS_DERIVATED[4]; |
b = b << 8; |
b = b | TEXT_FIPS_DERIVATED[5]; |
b = b << 8; |
b = b | TEXT_FIPS_DERIVATED[6]; |
b = b << 8; |
b = b | TEXT_FIPS_DERIVATED[7]; |
v_ecb.value.integer = b; |
|
}else if(counter_write == 12 ) |
|
if(counter_write == 10) |
{ |
a = a | TEXT_FIPS_DATATYPE_T01_DERIVATED[0]; |
a = a << 8; |
a = a | TEXT_FIPS_DATATYPE_T01_DERIVATED[1]; |
a = a << 8; |
a = a | TEXT_FIPS_DATATYPE_T01_DERIVATED[2]; |
a = a << 8; |
a = a | TEXT_FIPS_DATATYPE_T01_DERIVATED[3]; |
v_ecb.value.integer = a; |
|
}else if(counter_write == 11) |
{ |
b = b | TEXT_FIPS_DATATYPE_T01_DERIVATED[4]; |
b = b << 8; |
b = b | TEXT_FIPS_DATATYPE_T01_DERIVATED[5]; |
b = b << 8; |
b = b | TEXT_FIPS_DATATYPE_T01_DERIVATED[6]; |
b = b << 8; |
b = b | TEXT_FIPS_DATATYPE_T01_DERIVATED[7]; |
v_ecb.value.integer = b; |
|
}else if(counter_write == 12 ) |
{ |
|
c = c | TEXT_FIPS_DATATYPE_T01_DERIVATED[8]; |
c = c << 8; |
c = c | TEXT_FIPS_DATATYPE_T01_DERIVATED[9]; |
c = c << 8; |
c = c | TEXT_FIPS_DATATYPE_T01_DERIVATED[10]; |
c = c << 8; |
c = c | TEXT_FIPS_DATATYPE_T01_DERIVATED[11]; |
v_ecb.value.integer = c; |
|
}else if(counter_write == 13 ) |
{ |
d = d | TEXT_FIPS_DATATYPE_T01_DERIVATED[12]; |
d = d << 8; |
d = d | TEXT_FIPS_DATATYPE_T01_DERIVATED[13]; |
d = d << 8; |
d = d | TEXT_FIPS_DATATYPE_T01_DERIVATED[14]; |
d = d << 8; |
d = d | TEXT_FIPS_DATATYPE_T01_DERIVATED[15]; |
v_ecb.value.integer = d; |
|
} |
|
}else if(DATATYPE == TYPE_02) |
{ |
if(counter_write == 10) |
{ |
a = a | TEXT_FIPS_DATATYPE_T02_DERIVATED[0]; |
a = a << 8; |
a = a | TEXT_FIPS_DATATYPE_T02_DERIVATED[1]; |
a = a << 8; |
a = a | TEXT_FIPS_DATATYPE_T02_DERIVATED[2]; |
a = a << 8; |
a = a | TEXT_FIPS_DATATYPE_T02_DERIVATED[3]; |
v_ecb.value.integer = a; |
|
c = c | TEXT_FIPS_DERIVATED[8]; |
c = c << 8; |
c = c | TEXT_FIPS_DERIVATED[9]; |
c = c << 8; |
c = c | TEXT_FIPS_DERIVATED[10]; |
c = c << 8; |
c = c | TEXT_FIPS_DERIVATED[11]; |
v_ecb.value.integer = c; |
}else if(counter_write == 11) |
{ |
b = b | TEXT_FIPS_DATATYPE_T02_DERIVATED[4]; |
b = b << 8; |
b = b | TEXT_FIPS_DATATYPE_T02_DERIVATED[5]; |
b = b << 8; |
b = b | TEXT_FIPS_DATATYPE_T02_DERIVATED[6]; |
b = b << 8; |
b = b | TEXT_FIPS_DATATYPE_T02_DERIVATED[7]; |
v_ecb.value.integer = b; |
|
}else if(counter_write == 13 ) |
}else if(counter_write == 12 ) |
{ |
|
c = c | TEXT_FIPS_DATATYPE_T02_DERIVATED[8]; |
c = c << 8; |
c = c | TEXT_FIPS_DATATYPE_T02_DERIVATED[9]; |
c = c << 8; |
c = c | TEXT_FIPS_DATATYPE_T02_DERIVATED[10]; |
c = c << 8; |
c = c | TEXT_FIPS_DATATYPE_T02_DERIVATED[11]; |
v_ecb.value.integer = c; |
|
}else if(counter_write == 13 ) |
{ |
d = d | TEXT_FIPS_DATATYPE_T02_DERIVATED[12]; |
d = d << 8; |
d = d | TEXT_FIPS_DATATYPE_T02_DERIVATED[13]; |
d = d << 8; |
d = d | TEXT_FIPS_DATATYPE_T02_DERIVATED[14]; |
d = d << 8; |
d = d | TEXT_FIPS_DATATYPE_T02_DERIVATED[15]; |
v_ecb.value.integer = d; |
|
} |
|
|
|
}else if(DATATYPE == TYPE_03) |
{ |
d = d | TEXT_FIPS_DERIVATED[12]; |
d = d << 8; |
d = d | TEXT_FIPS_DERIVATED[13]; |
d = d << 8; |
d = d | TEXT_FIPS_DERIVATED[14]; |
d = d << 8; |
d = d | TEXT_FIPS_DERIVATED[15]; |
v_ecb.value.integer = d; |
if(counter_write == 10) |
{ |
a = a | TEXT_FIPS_DATATYPE_T03_DERIVATED[0]; |
a = a << 8; |
a = a | TEXT_FIPS_DATATYPE_T03_DERIVATED[1]; |
a = a << 8; |
a = a | TEXT_FIPS_DATATYPE_T03_DERIVATED[2]; |
a = a << 8; |
a = a | TEXT_FIPS_DATATYPE_T03_DERIVATED[3]; |
v_ecb.value.integer = a; |
|
}else if(counter_write == 11) |
{ |
b = b | TEXT_FIPS_DATATYPE_T03_DERIVATED[4]; |
b = b << 8; |
b = b | TEXT_FIPS_DATATYPE_T03_DERIVATED[5]; |
b = b << 8; |
b = b | TEXT_FIPS_DATATYPE_T03_DERIVATED[6]; |
b = b << 8; |
b = b | TEXT_FIPS_DATATYPE_T03_DERIVATED[7]; |
v_ecb.value.integer = b; |
|
}else if(counter_write == 12 ) |
{ |
|
c = c | TEXT_FIPS_DATATYPE_T03_DERIVATED[8]; |
c = c << 8; |
c = c | TEXT_FIPS_DATATYPE_T03_DERIVATED[9]; |
c = c << 8; |
c = c | TEXT_FIPS_DATATYPE_T03_DERIVATED[10]; |
c = c << 8; |
c = c | TEXT_FIPS_DATATYPE_T03_DERIVATED[11]; |
v_ecb.value.integer = c; |
|
}else if(counter_write == 13 ) |
{ |
d = d | TEXT_FIPS_DATATYPE_T03_DERIVATED[12]; |
d = d << 8; |
d = d | TEXT_FIPS_DATATYPE_T03_DERIVATED[13]; |
d = d << 8; |
d = d | TEXT_FIPS_DATATYPE_T03_DERIVATED[14]; |
d = d << 8; |
d = d | TEXT_FIPS_DATATYPE_T03_DERIVATED[15]; |
v_ecb.value.integer = d; |
|
} |
|
|
|
} |
|
|
}else if(FIPS_ENABLE == RANDOM_DATA) |
{ |
v_ecb.value.integer = data_in(rd); |
/aes_bfm_encryption_ccfie_ecb.h
248,11 → 248,39
}else if(counter_write == 9)//ENABLE CR |
{ |
|
v_ecb.value.integer = ADDR_AES_CR; |
vpi_put_value(PADDR, &v_ecb, NULL, vpiNoDelay); |
if(DATATYPE == TYPE_00)// NO DINR DOUTR SWAP DATA |
{ |
v_ecb.value.integer = ADDR_AES_CR; |
vpi_put_value(PADDR, &v_ecb, NULL, vpiNoDelay); |
|
v_ecb.value.integer = 513; |
vpi_put_value(PWDATA, &v_ecb, &t_ecb, vpiTransportDelay); |
v_ecb.value.integer = 513; |
vpi_put_value(PWDATA, &v_ecb, &t_ecb, vpiTransportDelay); |
|
}else if(DATATYPE == TYPE_01)// 16 BIT DINR DOUTR SWAP DATA |
{ |
v_ecb.value.integer = ADDR_AES_CR; |
vpi_put_value(PADDR, &v_ecb, NULL, vpiNoDelay); |
|
v_ecb.value.integer = 515; |
vpi_put_value(PWDATA, &v_ecb, &t_ecb, vpiTransportDelay); |
|
}else if(DATATYPE == TYPE_02)// 8 BIT DINR DOUTR SWAP DATA |
{ |
v_ecb.value.integer = ADDR_AES_CR; |
vpi_put_value(PADDR, &v_ecb, NULL, vpiNoDelay); |
|
v_ecb.value.integer = 517; |
vpi_put_value(PWDATA, &v_ecb, &t_ecb, vpiTransportDelay); |
|
}else if(DATATYPE == TYPE_03)// BIT DINR DOUTR SWAP DATA |
{ |
v_ecb.value.integer = ADDR_AES_CR; |
vpi_put_value(PADDR, &v_ecb, NULL, vpiNoDelay); |
|
v_ecb.value.integer = 519; |
; |
vpi_put_value(PWDATA, &v_ecb, &t_ecb, vpiTransportDelay); |
} |
|
}else if(counter_write > 9 && counter_write < 14) //WRITE DINR |
{ |
264,51 → 292,107
if(FIPS_ENABLE == FIPS) |
{ |
|
if(counter_write == 10) |
if(DATATYPE == TYPE_00) |
{ |
a = a | TEXT_FIPS_NOT_DERIVATED[0]; |
a = a << 8; |
a = a | TEXT_FIPS_NOT_DERIVATED[1]; |
a = a << 8; |
a = a | TEXT_FIPS_NOT_DERIVATED[2]; |
a = a << 8; |
a = a | TEXT_FIPS_NOT_DERIVATED[3]; |
v_ecb.value.integer = a; |
|
}else if(counter_write == 11) |
{ |
b = b | TEXT_FIPS_NOT_DERIVATED[4]; |
b = b << 8; |
b = b | TEXT_FIPS_NOT_DERIVATED[5]; |
b = b << 8; |
b = b | TEXT_FIPS_NOT_DERIVATED[6]; |
b = b << 8; |
b = b | TEXT_FIPS_NOT_DERIVATED[7]; |
v_ecb.value.integer = b; |
if(counter_write == 10) |
{ |
a = a | TEXT_FIPS_NOT_DERIVATED[0]; |
a = a << 8; |
a = a | TEXT_FIPS_NOT_DERIVATED[1]; |
a = a << 8; |
a = a | TEXT_FIPS_NOT_DERIVATED[2]; |
a = a << 8; |
a = a | TEXT_FIPS_NOT_DERIVATED[3]; |
v_ecb.value.integer = a; |
|
}else if(counter_write == 12 ) |
{ |
}else if(counter_write == 11) |
{ |
b = b | TEXT_FIPS_NOT_DERIVATED[4]; |
b = b << 8; |
b = b | TEXT_FIPS_NOT_DERIVATED[5]; |
b = b << 8; |
b = b | TEXT_FIPS_NOT_DERIVATED[6]; |
b = b << 8; |
b = b | TEXT_FIPS_NOT_DERIVATED[7]; |
v_ecb.value.integer = b; |
|
c = c | TEXT_FIPS_NOT_DERIVATED[8]; |
c = c << 8; |
c = c | TEXT_FIPS_NOT_DERIVATED[9]; |
c = c << 8; |
c = c | TEXT_FIPS_NOT_DERIVATED[10]; |
c = c << 8; |
c = c | TEXT_FIPS_NOT_DERIVATED[11]; |
v_ecb.value.integer = c; |
}else if(counter_write == 12 ) |
{ |
|
}else if(counter_write == 13 ) |
c = c | TEXT_FIPS_NOT_DERIVATED[8]; |
c = c << 8; |
c = c | TEXT_FIPS_NOT_DERIVATED[9]; |
c = c << 8; |
c = c | TEXT_FIPS_NOT_DERIVATED[10]; |
c = c << 8; |
c = c | TEXT_FIPS_NOT_DERIVATED[11]; |
v_ecb.value.integer = c; |
|
}else if(counter_write == 13 ) |
{ |
d = d | TEXT_FIPS_NOT_DERIVATED[12]; |
d = d << 8; |
d = d | TEXT_FIPS_NOT_DERIVATED[13]; |
d = d << 8; |
d = d | TEXT_FIPS_NOT_DERIVATED[14]; |
d = d << 8; |
d = d | TEXT_FIPS_NOT_DERIVATED[15]; |
v_ecb.value.integer = d; |
|
} |
|
}else if(DATATYPE > TYPE_00) |
{ |
d = d | TEXT_FIPS_NOT_DERIVATED[12]; |
d = d << 8; |
d = d | TEXT_FIPS_NOT_DERIVATED[13]; |
d = d << 8; |
d = d | TEXT_FIPS_NOT_DERIVATED[14]; |
d = d << 8; |
d = d | TEXT_FIPS_NOT_DERIVATED[15]; |
v_ecb.value.integer = d; |
|
|
if(counter_write == 10) |
{ |
a = a | TEXT_FIPS_NOT_DATATYPE_DERIVATED[0]; |
a = a << 8; |
a = a | TEXT_FIPS_NOT_DATATYPE_DERIVATED[1]; |
a = a << 8; |
a = a | TEXT_FIPS_NOT_DATATYPE_DERIVATED[2]; |
a = a << 8; |
a = a | TEXT_FIPS_NOT_DATATYPE_DERIVATED[3]; |
v_ecb.value.integer = a; |
|
}else if(counter_write == 11) |
{ |
b = b | TEXT_FIPS_NOT_DATATYPE_DERIVATED[4]; |
b = b << 8; |
b = b | TEXT_FIPS_NOT_DATATYPE_DERIVATED[5]; |
b = b << 8; |
b = b | TEXT_FIPS_NOT_DATATYPE_DERIVATED[6]; |
b = b << 8; |
b = b | TEXT_FIPS_NOT_DATATYPE_DERIVATED[7]; |
v_ecb.value.integer = b; |
|
}else if(counter_write == 12 ) |
{ |
|
c = c | TEXT_FIPS_NOT_DATATYPE_DERIVATED[8]; |
c = c << 8; |
c = c | TEXT_FIPS_NOT_DATATYPE_DERIVATED[9]; |
c = c << 8; |
c = c | TEXT_FIPS_NOT_DATATYPE_DERIVATED[10]; |
c = c << 8; |
c = c | TEXT_FIPS_NOT_DATATYPE_DERIVATED[11]; |
v_ecb.value.integer = c; |
|
}else if(counter_write == 13 ) |
{ |
d = d | TEXT_FIPS_NOT_DATATYPE_DERIVATED[12]; |
d = d << 8; |
d = d | TEXT_FIPS_NOT_DATATYPE_DERIVATED[13]; |
d = d << 8; |
d = d | TEXT_FIPS_NOT_DATATYPE_DERIVATED[14]; |
d = d << 8; |
d = d | TEXT_FIPS_NOT_DATATYPE_DERIVATED[15]; |
v_ecb.value.integer = d; |
|
} |
|
} |
|
|