đổi dữ liệu
2.3.2.2 .2.3 Phĩn tợch khả năng che dấu vỏ kết quả thực nghiệm: Chi phợ vỏ khả năng bị phõt hiện:
Giả sử lỏ chi tiết thuật tõn, ma trận F, giõ trị r, kợch thƣớc khối m Ứ n vỏ ma trận Fđđọ bị phõt hiện, thớ cũng khụ cụ khả năng xảy ra trƣờng hợp dữ liệu bị rỷt trợch vớ cụ 2mn cõch chọn K vỏ C2mn 1 *(2r - 1)!*(2r - 1) mn- 2 - 1 cõch chọn W.
Giả sử cả một phần B đọ bị giải mọ, vỏ cụ phƣơng phõp để lỏm giảm khả năng chọn lựa W. Nếu ngƣời trung gian đọ tớm đƣợc khối Fi đọ bị thay đổi thỏnh i F′ khi
nhỷng cõc bit Bi, vỏ khối Fj đọ bị thay đổi thỏnh j F ′ khi nhỷng cõc bit Bj thớ khả năng
tiếp tục phõt hiện cõc bit khõc cao. Nếu Fi = Fj, thớ sự khõc nhaucủa i F′ vỏ j F ′ sẽ
phản õnh mối quan hệ của trọng số tại vị trợ i F′ khõc Fi vỏ j F ′ khõc Fj. Giả sử Fi = i
Trang 39
2r . Cõc giõ trị của W sẽ cụ thể bị phõt hiện, vỏ khả năng chọn lựa W sẽ giảm xuống
2mn. Nếu W đọ bị phõt hiện, thớ khả năng tớm ra K rất dễ xảy ra. Nếu Fi = Fi′ =
Fjvỏ Fj′ chỉ khõc Fj tại một vị trợ (a,b), thớ [K]a,b cụ thể tớm đƣợc. Nếu Bj-Bi =
[K]a,b ≠2r-1, thớ [Fj ⊗ K]a,b=0, nghĩa lỏ [K]a,b = [Fj]a,b. Ngƣợc lại, Bj-Bi = - [K]a,b ≠2r-1, thớ [Fj ắ K]a,b = 1 , nghĩa lỏ [K]a,b lỏ phần bỳ của [Fj]a,b.
Để phõt hiện dữ liệu, ngƣời trung gian phải tốn chi phợ cao, vớ m Ứ n lớn, K vỏ
W đƣợc bảo mật.
So sõnh giữa hai phƣơng phõp:
• Ma trận F cụ cõc khối cỳng kợch thƣớc: hớnh ảnh sau khi đọ cụ dữ liệu đƣợc nhỷng bằng phƣơng phõp 2 lộn xộn hơn bằng phƣơng phõp 1.
Nhƣng phƣơng phõp 2 cụ thể chứa dữ liệu nhiều gấp 4 đến 10 lần hơn phƣơng phõp 1.
• Chất lƣợng hớnh ảnh nhƣ nhau: để hai ảnh sau khi đọ nhỷng dữ liệu cụ chất lƣợng bằng nhau, ta thay đổi kợch thƣớc cõc khối. Phƣơng phõp 1cụ số bit trung bớnh bị thay đổi lỏ 0.5, kợch thƣớc lỏ 16Ứ16, trong phƣong phõp 2ta lấy kợch thƣớc của khối lớn gấp 4 lần phƣơng phõp 1 để số bit trung bớnh bị thay đổi cũng bằng 0.5, kợch thƣớc 32Ễ 32 . Trong phƣơng phõp 1, số bit dữ liệu tối đa đƣợc nhỷng lỏ 1, số dữ liệu đƣợc nhỷng trong phƣơng phõp 2 lỏ ởlog(322 + 1)ỷ= 10 bit trong mỗi khối 32Ứ32. Phƣơng phõp 2 cụ tỉ số ẩn dữ liệu tối thiểu lỏ 10 /4 cao hơn phƣơng phõp 1.
• Số lƣợng dữ liệu đƣợc nhỷng bằng nhau: để số lƣợng dữ liệu bằng nhau, kợch thƣớc cõc khối của hai phƣơng phõp phải chởnh lệch. Vỏ vớ phƣong phõp 1 cần chọn ma trận điểm ảnh thợch hợp nởn số lƣợng ma trận thợch hợp ợt hơn trong phƣơng phõp 2.
Trang 40
2.4 Thuật tõn mọ hụa AES
2.4.1 Qũ trớnh mọ hụa
2.4.1.1 Tham số, ký hiệu, thuật ngữ vỏ hỏm
AddRoundKey: Phờp biến đổi sử dụng trong mọ hụa vỏ giải mọ, thực hiện việc cộng mọ khụa của chu kỳ vỏo trạng thõi hiện hỏnh. Độ dỏi của mọ khụa của chu kỳ bằng với kợch thƣớc của trạng thõi.
SubBytes: Phờp biến đổi sử dụng trong mọ hụa, thực hỏnh việc thay thế phi tuyến từng byte trong trạng thõi hiện hỏnh thừng qua bảng thay thế (S-box).
InvSubBytes: Phờp biến đổi sử dụng trong giải mọ. Đĩy lỏ phờp biến đổi ngƣợc của phờp biến đổi SubBytes.
MixColumns: Phờp biến đổi sử dụng trong mọ hụa, thực hiện thao tõc trộn thừng tin của từng cột trong trạng thõi hiện hỏnh. Mỗi cột đƣợc xử lý độc lập.
InvMixColumns: Phờp biến đổi sử dụng trong giải mọ. Đĩy lỏ phờp biến đổi ngƣợc của phờp biến đổi MixColumns.
ShiftRows: Phờp biến đổi sử dụng trong mọ hụa, thực hiện việc dịch chuyển xoay vúng từng dúng của trạng thõi hiện hỏnh với di số tƣơng ứng khõc nhau
InvShiftRows: Phờp biến đổi sử dụng trong giải mọ. Đĩy lỏ phờp biến đổi ngƣợc của phờp biến đổi ShiftRows.
2.4.1.2 Cõc bƣớc thực hiện
Quy trớnh mọ hụa Rijndael sử dụng bốn phờp biến đổi chợnh:
1. AddRoundKey: cộng ( ) mọ khụa của chu kỳ vỏo trạng thõi hiện hỏnh. Độ
dỏi của mọ khụa của chu kỳ bằng với kợch thƣớc của trạng thõi.
2. SubBytes: thay thế phi tuyến mỗi byte trong trạng thõi hiện hỏnh thừng qua bảng thay thế (S-box).
Trang 41 3. MixColumns: trộn thừng tin của từng cột trong trạng thõi hiện hỏnh. Mỗi cột
đƣợc xử lý độc lập.
4. ShiftRows: dịch chuyển xoay vúng từng dúng của trạng thõi hiện hỏnh với di số khõc nhau.
Mỗi phờp biến đổi thao tõc trởn trạng thõi hiện hỏnh S. Kết quả S’ của mỗi phờp
biến đổi sẽ trở thỏnh đầu vỏo của phờp biến đổi kế tiếp trong quy trớnh mọ hụa.
Trƣớc tiởn, toỏn bộ dữ liệu đầu vỏo đƣợc chờp vỏo mảng trạng thõi hiện hỏnh. Sau khi thực hiện thao tõc cộng mọ khụa đầu tiởn, mảng trạng thõi sẽ đƣợc trải qua
Nr = 10, 12 hay 14 chu kỳ biến đổi (tỳy thuộc vỏo độ dỏi của mọ khụa chợnh cũng nhƣ
độ dỏi của khối đƣợc xử lý). Nr 1 chu kỳ đầu tiởn lỏ cõc chu kỳ biến đổi bớnh thƣờng vỏ hoỏn toỏn tƣơng tự nhau, riởng chu kỳ biến đổi cuối cỳng cụ
sự khõc biệt so với. Nr 1 chu kỳ trƣớc đụ. Cuối cỳng, nội dung của mảng trạng thõi sẽ đƣợc chờp lại vỏo mảng chứa dữ liệu đầu ra.
Quy trớnh mọ hụa Rijndael đƣợc tụm tắt lại nhƣ sau:
1. Thực hiện thao tõc AddRoundKey đầu tiởn trƣớc khi thực hiện cõc chu kỳ mọ hụa.
2.Nr – 1 chu kỳ mọ hụa bớnh thƣờng: mỗi chu kỳ bao gồm bốn bƣớc biến đổi liởn tiếp nhau: SubBytes, ShiftRows, MixColumns, vỏ AddRoundKey.
3.Thực hiện chu kỳ mọ hụa cuối cỳng: trong chu kỳ nỏy thao tõc MixColumns đƣợc bỏ qua.
Trong thuật tõn dƣới đĩy, mảng w[] chứa bảng mọ khụa mở rộng; mảng in[] vỏ out[] lần lƣợt chứa dữ liệu vỏo vỏ kết quả ra của thuật tõn mọ hụa.
2.4.1.3 Kiến trỷc của thuật tõn Rijndael
Thuật tõn Rijndael đƣợc xĩy dựng theo kiến trỷc SPN sử dụng 16 s-box (kợch thƣớc 8 Ứ 8) để thay thế. Trong toỏn bộ quy trớnh mọ hụa, thuật tõn sử dụng chung bảng thay thế s-box cố định. Phờp biến đổi tuyến tợnh bao gồm 2 bƣớc: hõn vị
Trang 42 byte vỏ õp dụng song song bốn khối biến đổi tuyến tợnh (32 bit) cụ khả năng khuếch tõn cao. Hớnh 3.2 thể hiện một chu kỳ mọ hụa của phƣơng phõp Rijndael.
Trởn thực tế, trong mỗi chu kỳ mọ hụa, khụa của chu kỳ đƣợc cộng (XOR) sau thao tõc biến đổi tuyến tợnh. Do chỷng ta cụ thực hiện thao tõc cộng khụa trƣớc khi thực hiện chu kỳ đầu tiởn nởn cụ thể xem thuật tõn Rijndael thỏa cấu trỷc SPN [29].
Hớnh 11 Mừ tả Một chu kỳ mọ hụa của phƣơng phõp Rijndael (với Nb=4) 2.4.1.4 Phờp biến đổi SubBytes
Thao tõc biến đổi SubBytes lỏ phờp thay thế cõc byte phi tuyến vỏ tõc động
một cõch độc lập lởn từng byte trong trạng thõi hiện hỏnh. Bảng thay thế (S-box) cụ tợnh khả nghịch vỏ qũ trớnh thay thế 1 byte x dựa vỏo S-box bao gồm hai bƣớc:
1. Xõc định phần tử nghịch đảo x-1 GF(28). Quy ƣớc {00}-1 = {00}.
2. ạp dụng phờp biến đổi affine (trởn GF(2)) đối với x-1 (giả sử x-1 cụ biểu diễn nhị phĩn lỏ x7 x6 x5 x4 x3 x2 x1 x0 ):
Trang 43
hay
yi xi x(i+4)mod 8 x(i+5)mod 8 x(i+6)mod 8 x(i+7)mod 8 Ci với ci lỏ bit thứ i của {63}, 0 i 7.
Bảng 2 Thể hiện bảng thay thế S-box đƣợc sử dụng trong phờp biến đổi SubBytes ở dạng thập lục phĩn.
Vợ dụ: nếu giõ trị {xy} cần thay thế lỏ {53} thớ giõ trị thay thế S-box ({xy}) đƣợc xõc định bằng cõch lấy giõ trị tại dúng 5 cột 3 của Bảng D.1. Nhƣ vậy, S-box ({xy}) = {ed}.
Trang 44
2.4.1.5 Phờp biến đổi ShiftRows
Trong thao tõc biến đổi
ShiftRows
Bảng 3: Thể hiện bảng thay thế S-box đƣợc sử dụng trong phờp biến đổi ShiftRows ở dạng thập lục phĩn mỗi dúng của trạng thõi hiện hỏnh đƣợc dịch chuyển xoay vúng đi một số vị trợ.
Byte Sr ,c tại dúng r cột c sẽ dịch chuyển đến cột (c - shift(r, Nb)) mod Nb
hay:
S’r,c= Sr,(c + shift(r, Nb)) mod Nb với 0<r<8 vỏ 0 c<Nb
Giõ trị di số shift(r, Nb) phụ thuộc vỏo chỉ số dúng r vỏ kợch thƣớc Nb của khối dữ
Trang 45 liệu. Bảng 4. Giõ trị di số shift(r, Nb) shift(r, Nb) R 1 2 3 Nb 4 1 2 3 6 1 2 3 8 1 3 4
Phờp biến đổi ShiftRows đƣợc thể hiện dƣới dạng mọ giả:
2.4.1.6 Phờp biến đổi MixColumns
Trong thao tõc biến đổi MixColumns, mỗi cột của trạng thõi hiện hỏnh đƣợc
biểu diễn dƣới dạng đa thức s(x) cụ cõc hệ số trởn GF(28). Thực hiện phờp nhĩn
S’(x) = a(x) s(x) Với a(x) = {03}x3 + {01}x2 + {01}x + {02}
Thao tõc nỏy đƣợc thể hiện ở dạng ma trận nhƣ sau:
Trang 46
Bảng 5. Thao tõc MixColumns tõc động lởn mỗi cột của trạng thõi Trong đoạn mọ chƣơng trớnh dƣới đĩy, hỏm FFmul(x, y) thực hiện phờp nhĩn (trởn trƣờng GF(28)) hai phần tử x vỏ y với nhau
Trang 47 2.4.1.7 Thao tõc AddRoundKey
Phƣơng phõp Rijndael bao gồm nhiều chu kỳ mọ hụa liởn tiếp nhau, mỗi chu kỳ
cụ một mọ khụa riởng (Round Key) cụ cỳng kợch thƣớc với khối dữ liệu đang đƣợc xử lý vỏ đƣợc phõt sinh từ mọ khụa chợnh (Cipher Key) cho trƣớc ban đầu. Mọ khụa của chu kỳ cũng đƣợc biểu diễn bằng một ma trận gồm 4 dúng vỏ Nb cột. Mỗi cột của trạng thõi hiện hỏnh đƣợc XOR với cột tƣơng ứng của mọ khụa của chu kỳ đang xờt:
[s'0,c , s'1,c , s'2,c , s'3,c ] = [s0,c , s1,c , s2,c , s3,c ] ⊕ [wround ∗Nbc ] , với 0 ≤ c < Nb.
Thao tõc biến đổi ngƣợc của AddRoundKey cũng chợnh lỏ thao tõc AddRoundKey.
Trong đoạn chƣơng trớnh dƣới đĩy, hỏm xbyte(r, w) thực hiện việc lấy byte thứ r trong từ w.
Trang 48
Bảng 6. Thao tõc AddRoundKey tõc động lởn mỗi cột của trạng thõi
Trang 49 Cõc hằng số của mỗi chu kỳ hoỏn toỏn độc lập với giõ trị Nk vỏ đƣợc xõc định bằng Rcon[i] = (RC[i], {00}, {00}, {00}) với RC[i] ∈ GF(28) vỏ thỏa:
RC[1]=1 ({01})
RC[i] =x ({02})*(RC[i-1]) = x(i–1) 2.4.1.8 Vợ dụ về quỏ trớnh mọ hụa:
Trang 50
Bảng 7. Bảng S-BOX cụ định dang mọ hexa cho qũ trớnh mọ hụa
Cho tợn hiệu đầu vỏo vỏ mọ khụa Cipher Key lỏ 16 Byte cụ Nb = 4 vỏ Nk = 6
Tợn hiệu đầu vỏo đƣợc sếp vỏo bảng nhƣ sau
1. Thực hiện thao tõc AddRoundKey
Vúng mọ khụa thứ nhất chỉ thực hiện phờp biến đổi thao tõc AddRoundKey tợn hiệu đầu vỏo cộng với mọ khụa, theo cừng thức nhƣ sau.
[s'0,c , s'1,c , s'2,c , s'3,c ] = [s0,c , s1,c , s2,c , s3,c ] ⊕ [wround ∗Nbc ] Vợ dụ mọ khụa cho ở trởn lỏ
Trang 51
Vợ dụ : 32 2b = 19
2. Thực hiện thao tõc SubByte
Thao tõc biến đổi SubBytes lỏ phờp thay thế cõc byte phi tuyến vỏ tõc động một cõch độc lập lởn từng byte trong trạng thõi hiện hỏnh.
Qua phờp biến đổi SubByte
Vợ dụ: Từ tợn hiệu 19 dựa vỏ hừp S-BOX dúng 1 cột 9 lỏ tợn hiệu d4
3. Thực hiện thao tõc ShiftRows.
Mỗi dúng của trạng thõi hiện hỏnh đƣợc dịch chuyển xoay vúng đi một số vị trợ. Ứng với vợ dụ nỏy thớ dựa vỏo bảng giõ trị ShiftRows thớ ứng với dúng một thớ khừng dịch, dúng 2 thi dich đi 1, dúng 3 thớ dịch đi 2, dúng 4 thớ dịch đi 3. Ta đƣợc nhƣ sau.
Trang 52 Qua phờp biến đổi ShiftRows
4. Thực hiện thao tõc MixColumns
Trong thao tõc biến đổi MixColumns, mỗi cột của trạng thõi hiện hỏnh đƣợc biểu diễn dƣới dạng đa thức s(x) cụ cõc hệ số trởn GF(28). Thực hiện phờp nhĩn
S’(x) = a(x) s(x) Với
a(x) = {03}x3 + {01}x2 + {01}x + {02}
Qua phờp biến đổi MixColums.
= Hay: = ({02} )({03} ) ({01} ) ({01} ) = ({01} )({02} ) ({03} ) ({01} ) = ({01} )({01} ) ({02} ) ({03} ) = ({03} )({01} ) ({01} ) ({02} )
Trang 53 Thử tợnh tõn ở cột đầu tiởn: = ({02}d4)({03}bf) ({01}5d) ({01}30) = ? ạp dụng phờp tợnh nhĩn xtime(): {02}d4 = ? Ta cụ: d4 (H) = 11010100(B) Dịch trõi: 10101000
XOR với giõ trị 1b(H): 10110011(B) Vậy {02}}d4 = b3(H) = 10110011(B) Với cõch tợnh tƣơng tự ta đƣợc:
{03}bf = da(H) = 11011010(B) {01}5d = 5d(H) = 101.1101(B) {01}30 = 30(H) = 11.0000(B) XOR 4 kết quả nỏy ta đƣợc:
= 04(H) Tƣơng tự: = ({01} )({02} ) ({03} ) ({01} ) = 66 = ({01} )({01} ) ({02} ) ({03} ) = 81 = ({03} )({01} ) ({01} ) ({02} ) = e5
Trang 54 Chỷng ta thực hiện tƣơng tự nhƣ trởn 9 vúng biến đổi riởng vúng cuối vúng số 10 thớ chỷng ta khừng thực hiện thao tõc MixColumns.
Trang 56
2.4.2. Qũ trớnh tạo khụa
2.4.2.1 Chiều dỏi yởu cầu của khụa
Thuật tõn AES sẽ hỗ trợ ợt nhất một trong ba chiều dỏi khụa sau đĩy: 128, 192 vỏ 256 bit (tƣơng ứng Nk = 4, 6, 8). Việc triển khai cụ thể sử dụng tỳy chọn hai hoặc ba loại chiều dỏi khụa, cõi mỏ cụ thể thỷc đẩy khả năng tƣơng tõc của việc triển khai thuật tõn.
2.4.2.2 Sự hạn chế của khụa
Khừng cụ cõc khụa yếu hoặc bõn yếu đƣợc xõc định cho thuật tõn AES, vỏ khừng cụ sự hạn chế nỏo về sự lựa chọn khụa.
2.4.2.3 Cõc tham số của khụa: chiều dỏi khụa, kợch thƣớc block vỏ số vúng
Tiởu chuẩn nỏy xõc định một cõch rử rỏng cõc giõ trị cho phờp đối với chiều dỏi khụa (Nk từ), kợch thƣớc khối (Nb) vỏ số vúng (Nr) – xem hớnh minh họa. Tuy nhiởn, việc xõc nhận một lần nữa của tiởu chuẩn nỏy trong tƣơng lai cụ thể bao gồm cõc thay
Trang 57 đổi hoặc sự bổ sung giõ trị cho phờp đối với những tham số. Do đụ, thực hiện cụ thể chọn để thiết kế việc triển khai AES với sự linh hoạt trong tƣơng lai.
Bảng 8 Minh họa cõc thừng số của khụa
2.4.2.4 Gợi ý việc thực hiện dựa trởn cõc nền tảng khõc nhau
Sự biến đổi việc thực hiện lỏ cụ thể, trong nhiều trƣờng hợp, việc cung cấp hiệu suất hay cõc lợi thế khõc. Với cỳng một khụa ngử vỏo (dạng thừ hoặc bản mọ), bất kỳ thực hiện nỏo sao cho ngử ra lỏ nhƣ nhau (bản mọ hoặc thừ) chẳng hạn nhƣ thuật tõn trong tiởu chuẩn nỏy lỏ việc thực hiện cụ thể chấp nhận đƣợc của AES.
2.4.2.5 Mảng của cõc byte
a) Mảng của cõc byte
Cho cõc từ khụa a0a1a2….a15 (giả sử sử dụng khụa 128 bit, với ai lỏ một từ khụa cụ 8 bit đƣợc định dạng dƣới dạng số hexa)
Cõc byte vỏ bit đƣợc chia ra từ chuỗi 128 bit ngử vỏo input0 input1 input2 ….. input126 input127
với a0 = {input0, input1, …..,input7}; a1 = {input8, input9, …..,input15}; .
Trang 58 .
.
a15 = {input120, input121, …..,input127}.
Cõc bit trong mỗi byte đƣợc sắp xếp vỏ đõnh số nhƣ sau:
Bảng 9 Minh họa việc sắp xếp cõc bit trong mỗi byte
b) Trạng thõi
Thuật tõn AES thực hiện dựa trởn một mảng hai chiều của cõc byte gọi lỏ trạng thõi (State). State bao gồm bốn hỏng của cõc byte, mỗi hỏng chứa Nb byte, với Nb lỏ chiều dỏi block (Nb = số bit trong khụa mọ hụa/32 hay Nb lỏ số hỏng trong mảng State). Cõc phần tử trong mảng State đƣợc ký hiệu lỏ s, mỗi byte cụ hai chỉ số lỏ số hỏng r (0 <= r < 4) vỏ số cột c (0 <= c < Nb), khi đụ mỗi symbol trong mảng State đƣợc ký hiệu nhƣ sau: sr,c hoặc s[r,c]. Vợ dụ: Đối với chiều dỏi khụa lỏ 128 thớ 0<=r<4, 0<=c<4.
Trang 59 Khi đụ: s[r,c] = in[r + 4c] với 0<=r<4, 0<=c<4
out[r + 4c] = s[r,c] với 0<=r<4, 0<=c<4
Bốn byte trong mỗi cột của mảng State cụ dạnh từ 32bit, do đụ hỏng thứ r cho biết chỉ số của cõc byte trong mỗi từ. Nhƣ vậy mảng state cụ thể đƣợc xem nhƣ lỏ mảng một chiều của cõc từ 32bit (ma trận cột) w0, w1, w2, w3, do đụ số cột c cho biết chỉ số của mảng nỏy. Từ hớnh ở trởn, ta cụ thể thấy đƣợc: w0 = s0,0 s1,0 s2,0 s3,0 w1 = s0,1 s1,1 s2,1 s3,1 w2 = s0,2 s1,2 s2,2 s3,2 w3 = s0,3 s1,3 s2,3 s3,3 Trong đụ:
+ Nk: Chiều dỏi khụa (lỏ số cột của mảng State ) + Nb: Kợch thƣớc của block
+ Nr: Số vúng (Khụa 128 bit Nr =10, khụa 192 bit Nr = 12, khụa 256 bit Nr = 14)
c) Mở rộng khụa:
Thuật tõn AES dỳng khụa mọ hụa K vỏ thực hiện việc mở rộng khụa K để tạo ra một tổ hợp khụa. Việc mở rộng khụa sẽ tạo ra tổng cộng Nb(Nr + 1) từ khụa. Thuật tõn dỳng Nb từ khụa khởi tạo đầu tiởn, vỏ mỗi vúng Nr cũng yởu cầu Nb từ khụa. Kết quả lỏ cơ chế tạo khụa tạo ra một mảng tuyến tợnh cõc từ khụa 4 byte, vỏ đƣợc kợ hiệu lỏ [wi], với i trong khoảng 0 <= i < Nb(Nr + 1).
Trang 60 Một số bƣớc trong qũ trớnh tạo khụa nhƣ sau:
+ RotWord(): Lấy một từ khụa dạng [a0, a1, a2, a3] ngử vỏo, thực hiện dịch vúng từ khụa nỏy để tạo ra từ khụa [a1, a2, a3, a0].
+ SubWord(): Lỏ hỏm thực hiện lấy từ khụa 4 byte ngử vỏo, sau đụ so với bảng