Điểm:0

Hạn chế của mã hóa từ chối

lá cờ br

Những hạn chế của sơ đồ mã hóa là sơ đồ mã hóa có thể từ chối là gì? Có cách tiếp cận tổng quát nào để chuyển đổi sơ đồ mã hóa $\pi$ đến $\pi'$ đó sẽ là một sơ đồ mã hóa bị từ chối?

Điểm:1
lá cờ ng

Tôi sẽ cho rằng "sơ đồ mã hóa có thể từ chối" là một sơ đồ mã hóa sao cho có ít nhất hai khóa bí mật/giải mã (hoặc mật khẩu): một khóa mà người dùng thực sự sử dụng để bảo vệ dữ liệu bí mật và ít nhất một khóa giải mã mà người dùng có thể đưa ra khi bị áp lực phải làm như vậy và có thể chuyển thành khóa chính xác. Đó có thể là do khóa giải mã giải mã một số văn bản gốc có thể chuyển thành nội dung mà người dùng đang cố gắng che giấu (khiêu dâm là lý tưởng: có những lý do chính đáng để che giấu nó ngay cả khi nó hợp pháp).

Trong số những hạn chế của mã hóa từ chối

  • Bởi vì phải có chỗ trong bản mã cho cả bản rõ thực và bản rõ giả, nên bản mã lớn hơn so với mã hóa tiêu chuẩn.
  • Đối với mã hóa đĩa có thể từ chối, có những cân nhắc không cần thiết để ẩn phần nào của đĩa được sử dụng. An toàn nhất là ghi dữ liệu ngẫu nhiên trên toàn bộ đĩa trước khi sử dụng, nhưng lần sử dụng đầu tiên sẽ chậm lại; và tạo một ánh xạ logic-to-vật lý ngẫu nhiên, nhưng điều đó làm chậm mọi thứ trên ổ đĩa cơ học và gây ra các sự cố nhẹ hơn trên SSD.
  • Ngay cả với các biện pháp phòng ngừa ở trên, việc chụp ảnh đĩa trước và sau khi dữ liệu tải trọng thực tế được thay đổi có thể cho phép xác định vị trí của nó và nếu không có dữ liệu mồi nhử nào bị thay đổi, hãy xác định xem dữ liệu thu được bằng mật khẩu là mồi nhử hay thực.
  • Thật khó để che giấu rằng một hệ thống được triển khai có khả năng sử dụng mã hóa có thể từ chối được. Cho đến khi các hệ thống có khả năng mã hóa từ chối trở nên phổ biến được sử dụng bởi những người chỉ sử dụng mã hóa không giải mã (bất chấp những nhược điểm trên), thì việc chỉ sử dụng một hệ thống mã hóa có khả năng mã hóa từ chối chắc chắn sẽ gây nghi ngờ.
  • Nếu mã hóa có thể từ chối là đa cấp mà người thẩm vấn không có cách nào biết được có bao nhiêu, thì phân tích mật mã ống cao su (cách nói uyển ngữ tiêu chuẩn để tra tấn; XKCD 538) có khả năng vượt qua thời điểm mà người nắm giữ chìa khóa đã tiết lộ chìa khóa cuối cùng.
  • Mã hóa có thể từ chối cũng dễ bị tổn thương như bất kỳ hệ thống mã hóa nào khác đối với một số mối đe dọa thực tế khác, chẳng hạn như lấy được mật khẩu khi nhập.
Điểm:0
lá cờ cn

Trong trường hợp bảng mã một lần (OTP), lược đồ mã hóa có thể từ chối đơn giản nhất có thể sử dụng một Tin nhắn mồi nhửChìa khóa mồi mà tạo ra một Bản mã chung điều đó sẽ giống nhau Bản mã chung sẽ được XORed với tin nhắn thực sự, dẫn đến xác định Chìa khóa thực (với điều kiện là độ dài của thông báo thực ít nhất bằng độ dài của thông báo giải mã và các khóa kết quả và bản mã để tránh nhu cầu đệm).

  • Hạn chế sẽ coi các bit văn bản gốc là khóa riêng, theo nghĩa tạo khóa an toàn (Chìa khóa thực), vì nó hoàn toàn bắt nguồn từ một "văn bản thuần túy" ở đây được gọi là Thực Thông điệp.

Do đó, tính bảo mật của khóa thực theo bit sẽ phụ thuộc vào tính ngẫu nhiên và độ dài (và mọi bảo mật kết quả hoặc kế thừa) của thông điệp thực theo bit (vì vậy tin nhắn cần được xử lý theo nghĩa đen và nghĩa bóng như một khóa riêng để bảo mật toàn bộ hệ thống để tin nhắn thực được an toàn, vì nó không được "bảo mật" bằng khóa riêng (đúng hơn là khóa riêng được tạo ra từ tin nhắn).Dưới đây là một ví dụ:

pl= phím mồi
k1= tin nhắn mồi
c1 = bản mã phổ quát
p2= khóa thực
k2= tin nhắn thực

p1âk1 =c1

c1âk2 = k1

*Thông báo giải mã (độ dài n) â Khóa giải mã (độ dài n) = Bản mã phổ dụng (độ dài n)

*Bản mã phổ quát (độ dài n) â Thông điệp thực (độ dài n) = Khóa thực (độ dài n)

Ý kiến: Một phương pháp mã hóa như vậy để có thể từ chối hợp lý có thể hoạt động (bí mật hoàn hảo và an toàn lượng tử) nếu bản thân thông báo đủ ngẫu nhiên và với điều kiện là độ dài tính bằng bit của nó không khả thi để đoán hoặc xung đột với (tức là thông báo thực có thể là thông báo riêng tư ví dụ như chính khóa được tạo bởi CSPRNG) và dài 128 bit. Mặt khác, một thông báo thực ngắn hoặc có thể dự đoán được, sẽ tạo ra một khóa thực không an toàn.

Các giả định bảo mật quan trọng: đối với một thông báo thực đủ an toàn (văn bản gốc), chẳng hạn như số nguyên 256 bit do CSPRNG tạo, khóa thực kết quả được tính sau khi thực hiện XOR đối với bản mã Universal, trong đó căn bậc hai của [không gian nội dung * không gian khóa] = không gian bản mã (bao gồm các bản sao là 2^512 do tính giao hoán của XOR), trong đó sẽ có ít nhất gấp nhiều lần (2^256) các thông báo và khóa khác, sẽ tạo ra cùng một bản mã chung. Do đó, không có cách nào để biết thông báo hoặc khóa nào là thông báo đang được đề cập vì tất cả chúng đều có vẻ hợp lệ mà không cần biết trước về khóa thực, nếu thông báo (được coi là trình tạo khóa) đủ an toàn.Giới hạn/phạm vi này được điều chỉnh bởi số phương trình XOR riêng biệt tồn tại (không hoán vị) cho bất kỳ phạm vi số nguyên thực tùy ý nào (tức là n=256) theo trình tự sau A028401.

Mã Python mẫu để tính toán XOR riêng biệt:

Initial_bits= int(input("nhập số bit"))
Phạm vi_số_ban_đầu= 2**Số_bit_ban_đầu
Unique_XOR_triplets=((Initial_number_range+1)*(Initial_number_range+2))//6
Total_triplet_input_terms =((Dải_số_ban_đầu//2)+1)*(Dải_số_đầu_tiên)+(Dải_số_ban_đầu//2)+1
Repeat_Groups=(Total_triplet_input_terms)-((Initial_number_range**2)//2)-Initial_number_range
Checksum_repeat_group=(Initial_number_range//2)+1

print('1: Initial_bits, cái này sẽ trở thành số mũ của 2 lũy thừa này:',Initial_bits)
print('2: Số_dải_ban_đầu, hai số được nâng lên thành số bit ban đầu bằng:',Số_dải_ban_đầu)
print('3: Unique_XOR_triplets, ba thuật ngữ đầu vào được tính là một:',Unique_XOR_triplets)
print('4: Total_triplet_input_terms (tức là A XOR B = C sẽ là ba số hạng đầu vào):',Total_triplet_input_terms)
print('5: Repeat_Groups, mỗi số trong nhóm lặp lại số này nhiều lần, và thêm số này nhiều lần bằng 0:',Repeat_Groups)

Mã Python với sơ đồ mã hóa từ chối hợp lý bằng cách sử dụng các chuỗi 56 bit không an toàn làm ví dụ:

P1 = 0B01101000011001010110110001101100011011110000000000000000
p1=bin(p1)
k1= 0b10011001100110011001100110011001100110011001100110011000 #key1 DUMMY KEY Ví dụ 56-bit: 0b1001100110011001100110011001100110011001010001010010101
k1=bin(k1)
c1= int(p1,2)^int(k1,2) #ciphertext (được tính toán XÁC ĐỊNH 56-bit bắt nguồn từ XOR'ing thông điệp giả với khóa giả): "0b11110001111111001111010111110101111101101001100110011000"
c1=bin(c1)
p2= 0b01101100011001010110000101110110011010010110111001100111 #plaintext2 TIN NHẮN THỰC SỰ Ví dụ 8 bit ASCII cho "rời khỏi" : 0b01101100011001010110000101110110011011001011
p2=bin(p2)
k2= int(c1,2)^int(p2,2) #key2 REAL KEY ((DETERMINISTIC được tính) 56-bit bắt nguồn từ XOR'ing Ciphertext với Real message: 0b100111011001100110010100100000111001111111111011111111111
k2=bin(k2)

print('P1 TIN NHẮN GIẢ là:',p1)
print('K1 DUMMY KEY là:',k1)
print('c1 UNIVERSAL CIPHERTEXT là:',c1)
print('P2 TIN NHẮN THỰC SỰ là:',p2)
print('k2 REAL KEY is:',k2) ## "Khóa" này mang tính xác định do đó chỉ mạnh bằng tính ngẫu nhiên của thông báo 
print('tin nhắn thực p2: ', (p2),
      'là sự thật',(int(p2,2))== int(k2,2)^int(c1,2))
print('as c1 ',c1,'xor p2', p2, 'equals',bin(int(k2,2)), 'là truely')

in((int(k2,2)==(int(c1,2)^(int(p2,2)))))
print('và bằng = ',bin(int(c1,2)^(int(p2,2))))

Đă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.