mình đang học môn an toàn thông tin , thầy có giao bài tập về việc mã hóa và giải mã bằng 1 hệ thám mã dựa trên RSA VÀ DES mà mình tìm gg mãi vẫn không ra được cái gì.
ai hiểu rõ đề có thể phân tích giúp mình được không ạ
Hệ mã hóa phát triển từ RSA và DES
Dùng DES trên plain data, còn DES key được tạo dựa trên RSA. Cụ thể thế này:
Giả sử có 2 người Alice và Bob muốn trao đổi bí mật với nhau:
- Bước 1: Alice và Bob trao đổi bằng RSA để có secret key của DES
- Bước 2: Alice và Bob trao đổi tài liệu thông qua secret key ở bước 1
Bước 1 như thế này:
- Bob tạo 2 cặp khoá RSA: 1 cái public key gửi cho Alice, 1 cái còn lại là private key do Bob giữ riêng.
- Alice tạo DES key, rồi Alice dùng public key của Bob để mã hoá (encrypt) DES key, được encrypted key. Encrypted key được gửi sang cho Bob.
- Bob nhận encrypted key từ Alice. Bob dùng private key của mình để giải mã (decrypt) encrypted key, Bob nhận được DES key.
- Để cho Alice biết Bob đã nhận được DES key, Bob gửi lại acknowledgement cho Alice, bằng cách mã hoá lại DES key bằng public key, được ecrypted key, và gửi sang cho Alice.
- Alice nhận phản hồi từ Bob, so sánh 2 encrypted key: 1 cái của Alice, 1 cái của Bob gửi. Nếu giống nhau thì việc chia sẻ DES key hoàn thành, nếu khác nhau việc chia sẻ thất bại.
Sau khi Alice và Bob đều có DES key, thì Alice và Bob trao đổi với nhau thông qua DES.
trao đổi như vậy mitm vẫn nghe lén được :V Cái quan trọng nhất là làm sao Alice biết được public key mình nhận được là của Bob :V Nếu Alice và Bob chưa từng gặp tận mặt nhau, nếu gặp tận mặt nhau thì trao đổi luôn cái key DES gì luôn cho rồi :V
nếu Alice nhận public key của Eve mà tưởng là của B thì Alice xài key(AE) gửi thông điệp tới Eve, Eve lại gửi thông điệp đó với key(EB) tới Bob, Eve đọc đc toàn bộ thông tin cuộc trao đổi của Alice và Bob mà Alice ko biết gì, cứ tưởng mình đang nói trực tiếp với Bob :V
Alice tưởng là thế này:
A <==> B
nhưng thực tế là thế này:
A <==> E <==> B
vì Alice ko xác minh được public key ban đầu mình nhận đc có phải của Bob hay ko :V
có câu hỏi từ năm 2009 đã nói DES nguy hiểm ko xài nữa rồi :V Giờ này còn mã hóa bằng DES gì nữa :V
Session key đó bạn
DES gãy từ năm 1998 rồi, key có 55 bit thôi.
trao đổi session key là handshake, nhưng các bước mô tả ở trên ko có bước nào là authentication cả :V Chưa kể ko có forward secrecy :V Ko ai (chỉ) dùng RSA để trao đổi session key cả :V Chủ yếu dùng để authenticate :V
mà RSA cũng sắp ngủm rồi :V
giống như in ra 1 tấm hình cmnd giả giống thật rồi đưa cho mọi người bảo tôi là Bob, làm sao biết đó là cmnd thật hay giả :V
mình đang muốn tìm hiểu về thuật toán dựa trên RSA , và thầy bảo thuật toán đấy lại không phải là RSA nên mình không hiểu
Đề bài yêu cầu bạn làm hybrid mà nhỉ chú ý key DES là 56 bit nên chuẩn bị key pair khoảng 62 bit (và code tạo key). Và cách lọc bit