কোডব্রেকার এবং কোড লেখক


18

ধরা যাক আপনার কিছু পাঠ্য রয়েছে এবং আপনি এটি এটি আপনার বন্ধুর কাছে প্রেরণ করতে চান তবে আপনি চান না যে অন্য কেউ এটি পড়ুক। এর অর্থ সম্ভবত আপনি এটি এনক্রিপ্ট করতে চান যাতে কেবল আপনি এবং আপনার বন্ধু এটি পড়তে পারে। তবে, একটি সমস্যা আছে: আপনি এবং আপনার বন্ধু কোনও এনক্রিপশন পদ্ধতির সাথে একমত হতে ভুলে গেছেন, সুতরাং আপনি যদি তাদের কোনও বার্তা পাঠান তবে তারা এটি ডিক্রিপ্ট করতে পারবেন না!

কিছুক্ষণ এই সম্পর্কে চিন্তাভাবনা করার পরে, আপনি সিদ্ধান্ত নিলেন যে আপনার বন্ধুকে বার্তাটি সহ আপনার বার্তাটি এনক্রিপ্ট করার জন্য কোডটি প্রেরণ করবেন। আপনার বন্ধুটি খুব স্মার্ট, যাতে তারা এনক্রিপশন পদ্ধতিটি অধ্যয়ন করে বার্তাটি কীভাবে ডিক্রিপ্ট করবেন তা সম্ভবত তারা বুঝতে পারেন।

অবশ্যই, অন্য লোকেরা যেহেতু বার্তাটি পড়ছে, তাই আপনি একটি এনক্রিপশন স্কিম চয়ন করতে চান যা ক্র্যাক করা যতটা সম্ভব শক্ত করে তোলে (ডিক্রিপশন স্কিমটি নির্ধারণ করুন)।

ছেলের কাজ

এই চ্যালেঞ্জে, কপস লেখকের ভূমিকা পালন করবে: আপনি একটি এনক্রিপশন স্কিম ডিজাইন করবেন যা স্ট্রিংগুলিকে স্ট্রিংয়ে রূপান্তরিত করে। যাইহোক, এই এনক্রিপশন স্কিমটি অবশ্যই বাইজিক হওয়া উচিত যার অর্থ কোনও দুটি স্ট্রিং অন্য স্ট্রিংয়ের মানচিত্রের নয় এবং প্রতিটি স্ট্রিং একটি ইনপুট দ্বারা ম্যাপ করা যেতে পারে। এটি অবশ্যই একটি ইনপুট নিতে হবে — স্ট্রিংটি এনকোড করতে হবে।

এরপরে আপনি এমন কিছু কোড পোস্ট করবেন যা এনক্রিপশন সম্পাদন করে এবং আপনার কোড দ্বারা বিশদ স্কিমের সাথে এনক্রিপ্ট করা একটি একক বার্তা।

যেহেতু আপনি বার্তা প্রেরণের জন্য বাইট দিয়ে অর্থ প্রদান করছেন, আপনার স্কোরটি আপনার কোডের দৈর্ঘ্য এবং সিফারেক্সট এর দৈর্ঘ্য হবে । যদি আপনার উত্তরটি ক্র্যাক হয় তবে আপনার কাছে অসীম স্কোর থাকবে।

এক সপ্তাহ পরে, আপনি পাঠ্যটি প্রকাশ করতে পারেন এবং আপনার উত্তরটি নিরাপদ হিসাবে চিহ্নিত করতে পারেন । নিরাপদ উত্তরগুলি হ'ল ক্র্যাক করা যায় না।

ডাকাতদের কাজ

ডাকাতরা লেখকের বন্ধু বা দূষিত মধ্যবিত্তের মানুষ হিসাবে খেলবে (কোনও উপাদানগত পার্থক্য নেই, তবে আপনি অভিনয় করতে পারেন যদি হয় এটি এটি আরও মজাদার করে তোলে)। তারা এনক্রিপশন স্কিম এবং সিফারেক্সট গ্রহণ করবে এবং এনক্রিপ্ট করা বার্তাটি বের করার চেষ্টা করবে। একবার তারা এনক্রিপ্ট করা বার্তাটি বের করার পরে, তারা এটি একটি মন্তব্যে পোস্ট করবে। (এই প্রশ্নের জন্য আলাদা ডাকাতদের থ্রেড থাকবে না))

বিজয়ী সবচেয়ে ফাটল সহ ডাকাত হবে।


ফাটলযুক্ত সমাধানটি দেখতে কেমন হতে পারে তার একটি উদাহরণ এখানে রয়েছে:

আরও কমলা কিনুন


যদি এনকোডিং বাইজেক্টিভ হয় তবে ডোমেন এবং কোডোমেন কী?
ফাঁস নুন

কোন অক্ষরের সাথে স্ট্রিং?
লিকি নুন

1
@ ওয়েট উইজার্ড কোন 256? আপনার মানে 256 বাইট অক্ষর নয়?
এরিক আউটগল্ফার

7
একজনকে ক্রিপ্টোগ্রাফিকভাবে সুরক্ষিত ফাংশন ব্যবহার করা থেকে বিরত রাখা কী?
টুটম্যান

2
বাইজক্টিভিটি প্রমাণ করার ভার কার উপর: পুলিশ বা সম্ভাব্য ডাকাত? অর্থাৎ, যদি কোনও ফাংশন বাইজিক হয় তবে এটি অজানা থাকলে কী ঘটে?
স্টিফেন

উত্তর:


5

জেলি , 57 + 32 = 89 বাইট ( ক্র্যাক )

“¡ḟċ⁷Ḣṡ⁵ĊnɠñḂƇLƒg⁺QfȥẒṾ⁹+=?JṚWġ%Aȧ’
O‘ḅ256b¢*21%¢ḅ¢ḃ256’Ọ

এনক্রিপ্ট করা বার্তা:

EªæBsÊ$ʳ¢?r×­Q4e²?ò[Ý6

হেক্স-স্ট্রিং হিসাবে:

4518AAE6421973CA
9724CAB3A23F72D7
AD18855134651810
B23F1CF25BDD9036

ব্যাখ্যা:

O‘ḅ256b¢*21%¢ḅ¢ḃ256’Ọ
O                     convert each into codepoint
 ‘ḅ256                convert from bijective base 256 to integer
      b¢              convert from integer to base N
        *21           map each to its 21th power
           %¢         modulo N
             ḅ¢       convert to integer from base N
               ḃ256’  convert from integer to bijective base 256
                    Ọ convert each from codepoint

কোথায় Nস্ট্রিং দ্বারা এনকোড করা হয় “¡ḟċ⁷Ḣṡ⁵ĊnɠñḂƇLƒg⁺QfȥẒṾ⁹+=?JṚWġ%Aȧ’, যা সংখ্যা 105587021056759938494595233483151378724567978408381355454441180598980268016731

এছাড়াও, Nউপরোক্ত এবং সর্বজনীন কী সহ এটি আরএসএ পদ্ধতি 21। এটি ক্র্যাকিংয়ের দুটি প্রধান কারণ খুঁজে বের করার সমতুল্য N


আমরা হব. আমি যে কী খুঁজে পেয়েছি তাতে আমার নিজের এনক্রিপ্ট করা বার্তাটি ডিক্রিপ্ট করতে সক্ষম হয়েছি, তবে এটি আপনার সাথে ব্যর্থ হয়েছে বলে মনে হচ্ছে। : - / (প্রত্যাশিত ফলাফলটি 4-অক্ষরের অ-ইংরেজি বার্তা নয়, তাই?)
আর্নল্ড


নিবন্ধন করুন এটি আমার কাছে ছিল তবে আমি কিছুটা অর্থবহ কিছু প্রত্যাশা করছিলাম। :-)
আর্নল্ড

1
এটি মূল্যবান কিসের জন্য, আমি আমার পক্ষে ব্যবহার করা কোডটি এখানে
আর্নল্ড

1
@ অ্যান্ডারস ক্যাসরগ জেলি তার যুক্তিগুলি প্রমাণ করার চেষ্টা করে, তাই নাল বাইটগুলি সত্যই সম্ভব। tio.run/##y0rNyan8/9//////6jEGIKgOAA
ডেনিস

5

জেলি , 88 + 64 = 152 বাইট

এনক্রিপশন ফাংশন:

“¥@ɦ⁺€€Ṅ`yȤDƁWĊ;Y^y⁻U ⁸ßɠƁXẹṡWZc'µ÷ḷỊ0ÇtṙA×Ḃß4©qV)iḷỊDƭ Mṛ+<ṛ_idðD’
O‘ḅ256b¢*21%¢ḅ¢ḃ256’Ọ

এনক্রিপ্ট করা বার্তা:

AX!?ÖÍL¹    JÓ°û0àah4Û{µÌá`
^tÝrRÕù#êwðãTÓK"Íû´Ëß!øòOf«

হেক্স-স্ট্রিং হিসাবে:

9F419458213FD6CD4CB9094A10D3B0FB
8F30E0616834DB7BB517CCE1600A5E74
DD7252D5F923EA77F0E354D34B9F22CD
FB80B4CBDF21F80E94F24F9A66AB9112

ব্যাখ্যা:

O‘ḅ256b¢*13%¢ḅ¢ḃ256’Ọ
O                     convert each into codepoint
 ‘ḅ256                convert from bijective base 256 to integer
      b¢              convert from integer to base N
        *13           map each to its 13th power
           %¢         modulo N
             ḅ¢       convert to integer from base N
               ḃ256’  convert from integer to bijective base 256
                    Ọ convert each from codepoint

Nস্ট্রিং দ্বারা কোথায় এনকোড করা হয়েছে:

“¥@ɦ⁺€€Ṅ`yȤDƁWĊ;Y^y⁻U ⁸ßɠƁXẹṡWZc'µ÷ḷỊ0ÇtṙA×Ḃß4©qV)iḷỊDƭ Mṛ+<ṛ_idðD’

যা সংখ্যা

15465347049748408180402050551405372385300458901874153987195606642192077081674726470827949979631079014102900173229117045997489671500506945449681040725068819

এছাড়াও, Nউপরোক্ত এবং সর্বজনীন কী সহ এটি আরএসএ পদ্ধতি 13। এটি ক্র্যাকিংয়ের দুটি প্রধান কারণের সন্ধান করার সমতুল্য N, যার 512 বিট রয়েছে।


2
আমি পছন্দ করি যে আপনার এনক্রিপ্ট করা স্ট্রিংটি আপনার কোডের মতো দেখাচ্ছে
স্কিডেদেব

এই দুর্দান্ত প্রোগ্রামটি ব্যবহার করে , আমি নিশ্চিত যে মহাবিশ্বের তাপের মৃত্যুর পরে আমি কয়েক মিলিয়ন বছর আপনার সমাধানটি ক্র্যাক করতে পারি।
সকরাটিক ফিনিক্স

ট্রায়াল বিভাগ দ্বারা সোক্র্যাটিকফোনিক্স ফ্যাক্টরীকরণ কখনই চতুষ্কোণ চালনার কাছাকাছি আসতে পারে না।
লিকি নুন

@ লিক্যনুন আমি আপনার বড় অঙ্কের শব্দগুলি বুঝতে পারি না ...
ফিনিক্স

চতুষ্কোণীয় ফোইনিক্স আপনার প্রোগ্রামটি 2 থেকে প্রতিটি ফ্যাক্টর চেষ্টা করে, যখন চতুর্ভুজ চালনীটি আরও দ্রুত is এটি 6 মিনিটের মধ্যে 256-বিট সেমিপ্রাইমকে ফ্যাক্টরিজ করতে পারে, যেখানে আপনার প্রোগ্রামটি অনন্তকাল ধরে চলেছে।
লিকি নুন

3

জাভাস্ক্রিপ্ট (ES6), 43 + 33 = 76 বাইট লিকি নুন দ্বারা ক্র্যাক করা

এনক্রিপশন ফাংশন, 43 বাইট:

s=>[...s].sort(_=>Math.cos(i++),i=0).join``

এনক্রিপ্ট করা বার্তা, 33 বাইট:

এনবি: এই এনক্রিপশন পদ্ধতিটি ব্রাউজার-নির্ভর।

FireFox: "ty a)s kaasoeocr!hTt; o s  -cwaoo"
Chrome : "oht aasoaoas   e)tosr;oky c!-cw T"
Edge   : "tskso ;- caroteoTha wa soo ay c!)"

T! a)o khas eotrto-c; o sa cwsaoy
লিকি নুন

পছন্দ করুন
আর্নল্ড

আমার উত্তর পরিবর্তে কি উত্পাদন করে?
লিকি নুন

আপনি কোন ব্রাউজার ব্যবহার করছেন? আমি ক্রোম ব্যবহার করছি।
লিকি নুন

6
That was soooo easy to crack! -;)(আমি এটি ফাটানোর জন্য ফায়ারফক্স ব্যবহার করেছি)
লিকি নুন

3

ব্রেনল্ফ, ক্র্যাকড

(d1&,&g)&@

এটি অনলাইন চেষ্টা করুন!

এনক্রিপ্ট করা বার্তা, 45 বাইট (UTF-8)

°Áݭїϳ{ًչםק{їϳэÁק{|э³קѡ|

এনক্রিপ্ট করা বার্তার হেক্সকোড

C2 B0 C3 81 DD AD D1 97 CF
B3 C2 90 7B D9 8B D5 B9 D7
9D D7 A7 7B D1 97 CF B3 D1
8D C3 81 D7 A7 7B 7C D1 8D
C2 B3 D7 A7 D1 A1 7C C2 85

ডিক্রিপ্ট করা বার্তা

C'mon, this one's *easy*!

ব্যাখ্যা

(d1&,&g)&@  Implicit input from commandline args
(......)    Foreach loop, foreach codepoint of input
 d          Split into digits
  1         Push 1
   &,       Reverse
     &g     Concatenate
        &@  Print

সঙ্কেতমোচক

মাত্র 3 টি অক্ষর পরিবর্তন করে একটি ডিকোডার তৈরি করা যায়। কেবলমাত্র অপসারণ 1, এবং ঢোকায় $_inbetween &,এবং&g

(d&,$_&g)&@

আপনি একটি টিআইও সরবরাহ করতে পারেন?
ক্রিটিকি লিথোস

1
C'mon, this one's *easy*!
কেএসমার্টস

@ কে স্মার্টস সঠিক!
স্কিডেদেব

gনিঃশব্দে কি?
লিকি নুন

এই দ্বিদ্বৈক?
লিকি নুন

3

জাভাস্ক্রিপ্ট (ES6), 96 + 9 = 105 বাইট

q=>Buffer(q).map((a,i,d)=>d[i-1]^Math.abs(1e16*Math.sin(d[i]+i))%255).sort((a,i)=>Math.tan(a*i))

সিফারেক্সটেক্সট (হেক্স-এনকোডড): 7d111c74b99faff76a

এটি অনলাইন চেষ্টা করুন!

নমুনা আউটপুট (ভি 8 ইঞ্জিন ব্যবহার করে):

abc123 -> db48ea4f86b9

হ্যালো -> 1b3420f5ab


অবৈধ জমা: একাধিক প্লেইন টেক্সট একই সিফারেক্সট তৈরি করে। উদাহরণস্বরূপ: "সি", "ডি"। এটি কেবল প্রথম চরের জন্য গণনা করা হয়। সম্ভাব্য ইনপুটগুলির 256 টির মধ্যে কেবল 165 টি অনন্য আউটপুট।
মার্ক জেরোনিমাস

এটি উদ্দিষ্ট পরিসীমা (ASCII A থেকে ASCII z) এর
বাইজেক্টিক

আমি আপনাকে বলেছিলাম যে তা নয়। ইনপুট স্ট্রিং হিসাবে যথাক্রমে "সি" এবং "ডি" দিয়ে আপনার কোড চেষ্টা করুন। একই আউটপুট স্ট্রিং 76
মার্ক জেরোনিমাস
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.