Điểm:1

Có thể tìm thấy khóa AES được cung cấp một phần của khóa, bản mã, vectơ khởi tạo và chế độ mã hóa không?

lá cờ es

Các chi tiết sau đây được đưa ra:

  • Khóa một phần: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX1100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011
  • Vector khởi tạo: E898EF8E91F8C9B201E6E29DF87EE152
  • Khối bản mã 1: 14B8D1412766A8520BACE4598F8AFAEE
  • Khối bản mã 2: 7E687A49015FA6F1B914635325A6361B
  • Khối bản mã 3: 8AD191394EF79CEC4B5A256313632CD4
  • Khối bản mã 4: 8BB4D49F3FA7A917CDF02ECCAA8C4765
  • Chế độ CBC Không đệm
  • Bộ ký tự: ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890â´â~@#$%^&*(){}[]+=-_<>,.?/!:\;â|"
  • Thông tin bộ ký tự: phạm vi [32,127), được mã hóa ASCII, mỗi ký tự là 8 bit

Suy nghĩ của tôi là bằng cách nào đó bạn sẽ cần giải mã từng khối bản mã với mỗi 32 bit đã biết của khóa và xử lý. Vấn đề là khối bản mã đầu tiên có khóa chưa khớp (XXX ...)
Vì vậy, kết quả là bạn sẽ nhận được một văn bản thuần túy gồm tất cả các ký tự đã biết ngoại trừ 32 bit đầu tiên.

kelalaka avatar
lá cờ in
@ mti2935 vâng, câu hỏi rất dễ ( Tôi đã bỏ lỡ một số phần): Gợi ý: Tạo khóa, giải mã và kiểm tra xem văn bản gốc không bao gồm bất kỳ byte nào không có trong bộ ký tự.
kelalaka avatar
lá cờ in
Không, Bạn phải sử dụng chế độ CBC để giải mã và không có phần đệm nghĩa là bản rõ có kích thước khối đầy đủ. Giải mã tất cả các khối và kiểm tra nó. Tại sao bạn nghĩ rằng bản rõ 32-bit? Việc giải mã một khối để lại kết quả 128-bit. Bạn có biết mật mã khối hoạt động như thế nào và chế độ CBC là gì không?
kelalaka avatar
lá cờ in
1) Bạn chỉ có thể giải mã toàn bộ khối ( 128 bit cho AES) 2) trong khi tìm kiếm 2) khóa được cung cấp ở dạng chuỗi bit có nghĩa là bạn phải tìm các bit còn thiếu của một khóa 128 bit. 3) Nếu muốn, bạn chỉ có thể giải mã khối bản mã đầu tiên và kiểm tra xem có vượt qua kiểm tra hay không, sau đó giải mã tất cả và kiểm tra lại. Giải mã tất cả các bản mã cùng một lúc và kiểm tra càng tốt. Nếu bạn biết một số mã hóa, bạn có thể viết mã này trong một vài giờ.
hft avatar
lá cờ ng
hft
@ user274857 cái này nên được gắn thẻ là bài tập về nhà và bài tập nếu nó là bài tập về nhà. Bạn cần cho chúng tôi thấy những gì bạn đã thử. Cuối cùng, trong tương lai, những câu hỏi như thế này có thể được đặt ra tốt hơn tại trao đổi ngăn xếp mật mã hơn là trao đổi ngăn xếp infosec.
Điểm:3
lá cờ in

Người ta có thể đạt được để tìm kiếm không gian phím 32 bit không?

OpenSSL với AES-NI có thể vận hành 61510120 lần lặp cho các khối 64 byte AES-128 ở chế độ CBC mỗi 3 giây trên máy của tôi.

chạy tốc độ mởssl -evp AES128 để xem trong máy của bạn.

Điều này làm cho $2^{26}$ keyspace trong ba giây. Một nhu cầu $2^{6} =64*3$ giây để tìm ra những ứng cử viên chính có mã hóa tốt.


Vì lý do của bạn, hãy tạo 3 chức năng;

  • $P = \operatorname{AES-Dec-CBC}(k, IV, C)$ ở đâu $C$ là khối bản mã và $P$ là bản rõ được giải mã dưới khóa hiện tại $k$ của $C$.
  • $k =\operatorname{GetNextCandidateKey(current)}$ Đơn giản này tăng dòng điện và tạo một khóa $k = hiện tại\mathbin\|1100\cdots011$ ở dạng nhị phân. Bạn cần chuyển đổi cái này thành nhị phân để phù hợp với thư viện mã hóa tiêu chuẩn
  • $b = \operatorname{CheckTheMessage}(P)$. Hàm này lấy một bản rõ và kiểm tra xem các byte có nằm trong phạm vi không. Nếu không trả lại 0 khác trả về 1

Bây giờ với 3 chức năng này;


hiện tại = -1

trong khi hiện tại <2^32 làm:
    k = GetNextCandidateKey(hiện tại)
    P = AES-Dec-CBC(k, IV, C)
    b = CheckTheMessage(P)

    nếu b == 1
        in (hiện tại)
    hiện tại ++
Điểm:1
lá cờ ng
hft

Có thể tìm thấy khóa AES được cung cấp một phần của khóa, bản mã, vectơ khởi tạo và chế độ mã hóa không?

Đôi khi nó là có thể. Đôi khi nó là không thể. Nó phụ thuộc vào mức độ quan trọng mà bạn đã biết.

Trong trường hợp của bạn, bạn dường như biết tất cả trừ 33 bit của khóa. Vì vậy, bạn sẽ có thể brute force nó để tìm ra phần còn lại của khóa.

hft avatar
lá cờ ng
hft
Nhìn vào đầu ra của giải mã. Ví dụ: nếu bất kỳ byte nào không nằm trong phạm vi mà bạn (hoặc giáo viên của bạn) đã chỉ định [32,127), bạn có thể bỏ phím đó đi và bắt đầu thử một phím khác.\

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.