লুকানো বিপর্যয় (ডাকাতদের থ্রেড)


16

এটি একটি ধাঁধা, পুলিশগুলির থ্রেডটি এখানে পাওয়া যাবে।

আপনার কাজটি হ'ল পুলিশদের থ্রেডে প্রদত্ত প্রোগ্রামগুলির একটি অ্যানগ্রাম খুঁজে পাওয়া যাবে যা তার বাম উল্টো করে।

একবার আপনি উত্তরটি ক্র্যাক করে নিচের উত্তর হিসাবে সমাধান পোস্ট করুন এবং মূল উত্তরদাতাকে অবহিত করুন।

আপনি প্রথম ক্র্যাকিং প্রোগ্রামের সংখ্যাতে স্কোর করা হবে।

উত্তর:


21

পাইথন 3, 46 বাইট, লিন

lambda x0223334566789:(x0223334566789*89)//178

আমি কীভাবে "মূল উত্তরদাতাকে অবহিত করব"?
জিবি

আপনার উত্তরটি মূলটির সাথে লিঙ্ক করে একটি মন্তব্য রেখে দিন
সেফা

আপনার কোডটির f=শুরুতে আপনার ড্রপ করা উচিত যেহেতু এটির প্রয়োজন নেই এবং মূল ফাংশনের অংশ নয়
0 '

সম্পন্ন, আমি খুব দ্রুত এটি অনুলিপি করেছি।
জিবি

16
এখানে আমি আসলে একটি সমাধান জোর করে নিষ্ঠুর (এবং এমনকি এটির একটি বিদ্যমান রয়েছে বলে ধরেও নেওয়া হচ্ছে) এবং আপনি কেবল পুরো সমস্যাটিকেই পাশ কাটাচ্ছেন! +1
orlp

14

পাইথন 2, 225 বাইট, orlp

p=90930641353124136621573325641513715557077985927835294018496194596645372722158;q=101979812089012306249375934082966806799688507587087308196267706260111970225882#--223444799
lambda n:pow(n,pow(65537,(p*q-2*(p+q))/4,p*q),~p*~q)

অনুমান আমি সারাদিন এলোমেলোভাবে প্রাথমিক বিভাজক অনুমান করার পরে ভাগ্যবান হয়েছি ...

(ডিফল্ট সি 4.8 এক্স্লারজ স্পট সীমা 4, তবে আমি গত বছরে এটি 10 ​​এড়াতে পেরেছি 16 যদিও এফএএএস কনফিগারেশনটি 16 দাস থেকে 6 পর্যন্ত উন্নতি করতে হয়েছিল (+3 এমপিআই, 1 মাস্টার)। 20 মি পলিসিলেক, 12 ঘন্টা 50 মিছিল, 2 ঘন্টা 25 মিল লিনালগ, 30 মিটার স্কোয়ার্ট। মোট ব্যয় ~ $ 70। কমপক্ষে @orlp একটি দ্রবণযোগ্য আকার বাছাই করতে যথেষ্ট ভাল ছিল, কিন্তু আমি এটি আর করছি না! শেষ পদক্ষেপের জন্য @ ইলমারিকেরোনেনকে ধন্যবাদ, এবং হ্যাঁ আমি এই সম্পর্কে মজা করছি অনুমান: পি)


আমি .. কি ... এখন আমি তোমার কাছে টাকা খোয়াতে :( আমি ইচ্ছাকৃতভাবে একটি আকার এখনও যুক্তিসঙ্গতভাবে ছোট হবে বাছাই করা কিন্তু হামলার অত্যন্ত উচ্চ খরচ জন্য খারাপ মনে করেন আমি আসলে মনে করি না যে কেউ এই অর্থ ব্যয় করবে।।
orlp

1
@orlp আমার পক্ষে এটি একদম অভিজ্ঞতা হিসাবে সম্পূর্ণ মূল্যবান। আমি আশা করি লোকেরা এ থেকে বন্যের 512-বিট আরএসএ সুরক্ষা সম্পর্কে কিছু শিখবে :)
Sp3000

এটি গল্ফিংয়ের জন্য সত্য উত্সর্গ, কেবল সময় নয় অর্থ ব্যয় করে! আকর্ষণীয় বিষয়টি লক্ষ্য করুন যে কোনও আক্রমণকারী সম্ভাব্যভাবে ক্লাউড কম্পিউট পরিষেবা পরীক্ষার মাধ্যমে 512-বিট আরএসএ ফ্রি করতে পারে।
মাইল মাইল

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

11

পাইথন 2, 83 বাইট, orlp

মূল:

#((()))****+,,---/2289;==oppppppqqqqqw~~
lambda n:pow(n,65537,10998167423251438693)

ফাটল:

p=3207399658;q=3428998126#--11
lambda n:pow(n,pow(65537,(p*q-2*(p+q))/4,p*q),~p*~q)

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

আরএসএ দ্বারা সম্পন্ন ক্রেকিং উল্ফর্যাম আলফা । ;)


আমি ঠিক বুঝতে পেরেছি ~p*~qউফফের চেয়ে সোজা হয়ে ছোট -~p*-~q
orlp

আপনি কিভাবে (p*q-2*(p+q))/4অংশ বিপরীত ইঞ্জিনিয়ার ? :)
orlp

এটা ছিল সবচেয়ে জটিল অংশ, তাই না? মূলত, জ্ঞান কারমাইকেল ফাংশন এবং সত্য যে p/2এবং q/2উভয়েই বিজোড় মৌলিক এবং কিছু যে পাওয়া অক্ষর ব্যবহার করে কাজ করবে এটি শুদ্ধাশুদ্ধি একটি গুচ্ছ।
ইলমারি করোনেন

আমি ইচ্ছাকৃতভাবে বেছে নিয়েছি pএবং q(আসল কোডগুলি, কোডের মধ্যে একটি p-1এবং q-1গল্ফিংয়ের উদ্দেশ্যে) যেমনটি আমাদের (p-1)/2কাছে প্রধান φ(φ(pq)) = ((p-1)/2-1)((q-1)/2-1)। এটি আমাদেরকে ইউলারের পরিচয় ব্যবহার করে 65537মোডের মডুলার ইনভার্স φ(pq)( আরএসএর জন্য আমাদের কী প্রয়োজন) গণনা করতে দেয় , উত্তরটি আরও সংক্ষিপ্ত করে তোলে কারণ আমাদের মডিউলার ইনভার্স লজিক বা হার্ডকোড অন্য কোনও বড় ধ্রুবক প্রয়োগ করতে হবে না। -~q*-~p-> বাদে ~q*~pআপনি ঠিক আমার ফাংশনটি খুঁজে পেয়েছেন :)
orlp

1
আসলে, একটি ছোটখাটো নীট বাছাই করার জন্য, আমি φ(φ(pq)) = 2((p-1)/2-1)((q-1)/2-1)নিরাপদ প্রাইমসের জন্য বিশ্বাস করি pএবং qকারণ φ(4) = 2। তবে λ(φ(pq)) = lcm(2, (p-1)/2-1, (q-1)/2-1)সর্বাধিক ((p-1)/2-1)((q-1)/2-1)/2, এবং এর যে কোনও একাধিক, বিয়োগফলটি ঘটনাকারীর জন্য করবে। :)
ইলমারি করোনেন

7

পাইথন 3, 80 বাইট, ওল্ফ্রাম

from bisect import*
q=int(input())
print(bisect([(h+1)**2 for h in range(q)],q))

এটা সত্যিই ক্র্যাক কঠিন ছিল! আমি বাইসেক্ট লাইব্রেরিটি ব্যবহার করি যা পাইথন 3 বিতরণের অন্তর্ভুক্ত is bisectফাংশন একটি সাজানো তালিকা এবং একটি উপাদান নেয় এবং ডানদিকের সূচক যেখানে উপাদান শৃঙ্খলা বজায় রাখার জন্য সন্নিবেশিত করা যেতে পারে ফেরৎ। আমরা কেবল এটিকে দিয়ে qশুরু স্কোয়ারগুলির তালিকা 1এবং উপাদানটি দেব q


1
আমি পরিবর্তন (h+1)করতে পরামর্শ যাচ্ছিলাম -~h। তখন আমি বুঝতে পারি যে এটি এই চ্যালেঞ্জের মূল বিষয় নয়: পি
ইটিএইচ প্রডাকশনগুলি

অপারেটর অগ্রাধিকারের কারণে @ETH প্রোডাকশনগুলি যে কোনওভাবেই ভুল হবে।
Sp3000

@ এসপি 3000 হু, পাইথনের **চেয়ে আমার অগ্রাধিকারের কোন ধারণা নেই ~। আমি মনে করি এটি -~2**2জেএসের চেয়ে ভাল, যেখানে একটি সিনট্যাক্স ত্রুটি ছুঁড়েছে ("অপরিবর্তিত আনরি এক্সপ্রেশন '**'" এর বাম দিকে প্রদর্শিত হতে পারে না)।
ইটিএইচ প্রডাকশন

@ ইথ প্রডাকশনগুলি তারা প্রকৃতপক্ষে অস্পষ্টতা এড়ানোর জন্য এটি করেছিল, যা আমি যুক্ত করতে পারি, বেশিরভাগ জেএস ডিজাইনের খুব অচিরাচরিত।
9:30 এ ফল ফলবান

@ চ্যালেঞ্জার 5 প্রকৃতপক্ষে, আমাকে সেখানে আপনার সাথে একমত হতে হবে: সাম্প্রতিক বছরগুলিতে টিসি 39 অত্যন্ত নতুনভাবে যুক্ত হওয়া যে কোনও নতুন বৈশিষ্ট্য যতটা সম্ভব অস্পষ্টতা থেকে মুক্ত রয়েছে তা নিশ্চিত করার জন্য অত্যন্ত সতর্ক ছিলেন (যার মধ্যে **অপারেটরও রয়েছে , ES2017-এ যুক্ত হয়েছে)
ইটিএইচ প্রোডাকশন

6

জাভাস্ক্রিপ্ট, 21 বাইট, আরনাউল্ড

মূল

b=>Math.pow(b,torc=3)

ফাটল

o=>Math.cbrt(o,pbw=3)

কিউব রুট প্রদান করে।


এই নাও! ;)
আর্নল্ড

@ আরনাউল্ড: আমি এটি কিছুটা অদ্ভুত বলে মনে করি যে জেএস আপনাকে তার পক্ষে সংজ্ঞায়িত হওয়ার চেয়ে বেশি যুক্তিযুক্ত ফাংশনগুলিতে কল করতে দেয়। আমি ভাবছি এর পিছনে কি চিন্তাভাবনা আছে।
এমিগিনা

6
আপনি ঠিক বলেছেন, জেএস ডিজাইনের মাধ্যমে এটির অনুমতি দেয়। অতিরিক্ত তর্কগুলি সম্পূর্ণরূপে হারিয়ে যায় না, যেহেতু সেগুলি আর্গুমেন্টে সংরক্ষণ করা হয় যা ফাংশন দ্বারা ম্যানুয়ালি অ্যাক্সেস করা যেতে পারে।
আর্নল্ড


4

প্রসেসিং.জেএস, 59 বাইট, ক্রিটিক্সি লিথোস

মূল:

float igetuwebaoli(int p){return p*(((17*-4*-3)))+0+0;}//,,

ফাটল:

int loabewuteg(float p,i){return (i+0**+0,(p/17/(-4*-3)));}

ঠিক আছে, এটি যথেষ্ট সহজ ছিল। সবচেয়ে শক্তিশালী অংশটি নির্ধারণ করছিল যে অতিরিক্ত কমা এবং অ্যাট্রিস্টকগুলি কোথায় আটকে থাকবে। ভাগ্যক্রমে, মনে হচ্ছে প্রসেসিং অতিরিক্ত অব্যবহৃত ফাংশন প্যারামিটার পাশাপাশি সি-স্টাইলের কমা এক্সপ্রেশনগুলিকে মঞ্জুরি দেয়।


1
স্পষ্টতই, আমি যে দোভাষীটি সংযুক্ত করেছি সে ভুল ছিল। প্রকৃতপক্ষে, প্রসেসিং-জাভা প্রসেসিং.জেএস-তে প্রাক-সংকলিত হওয়ার পরে বেশিরভাগ (বা সমস্ত) অনলাইন অনুবাদক সম্ভবত ভুল হতে চলেছে। এই মুহুর্তে, আমি মনে করি যে কর্মের সেরা কোর্সটি আমার এবং আপনি প্রসেসিংয়ের পরিবর্তে "প্রসেসিং.জেএস" -তে আমাদের উত্তরগুলি পরিবর্তন করবেন কারণ আপনার উত্তরটি বৈধ হবে (প্রসেসিং-জাভা বহু সংখ্যক ত্রুটি দেয়)। প্রসেসিং-জাভা হিসাবে একই কোডের সাথে আমি একটি পৃথক উত্তর পোস্ট করব, তবে এর জন্য নীড় দোভাষী এটি প্রসেসিংআরগ থেকে ইনস্টল করা হবে। যাইহোক ভাল হয়েছে!
ক্রিটসি লিথোস

4

জাভাস্ক্রিপ্ট (ES6), 63 বাইট, SLuck49

মূল:

x=>eval(atob`eCp4KzEvLyAgfXBModLS4TvEn4wp1iys9YRRKC85KLIhNMC=`)

ফাটল:

x=>eval(atob`CgpNYXRoLnBvdyh4LTEsMC41KSAvLw4589CEIKKMRefipyz=`)

উপরের বেস 64 কোডটি ডিকোড করে:



Math.pow(x-1,0.5) //...

যেখানে ...জেন্ডার ইন্টারপ্রিটার দ্বারা উপেক্ষা করা এলোমেলো আবর্জনার একগুচ্ছ দাঁড়িয়ে আছে, কারণ এটি একটি মন্তব্যে রয়েছে।

আমি সমাধান এবং ত্রুটির দ্বারা এই সমাধানটি পেয়েছি। শেষ পর্যন্ত, শুধুমাত্র সত্যিই চতুর অংশ কোডের শুরুতে দুই নতুন লাইন, সঠিকভাবে বাকি লাইন আপ করতে এবং পেতে প্রয়োজন ছিল Mমধ্যে Mathএমন কিছু বিষয় যা মূল অক্ষরসমষ্ঠিতে উপলব্ধ ছিল মধ্যে করুন Base64- সঙ্কেতাক্ষরে লিখা। আমি প্রথমে স্পেসগুলি চেষ্টা করেছিলাম, তবে এর মধ্যে " M"বেস 64-এনকোডগুলি পরে কোডে "ICBN"আমার এনকোড দেওয়ার জন্য কেবলমাত্র উপলব্ধ Bছিল ".po""0+M", "1*M", "1?M"বা অনুরূপ কোন নো অপ উপসর্গ কথা আমার মনে পড়েছে পারেন কাজ করে নি, কিন্তু নতুন লাইন করেনি।

আমি সন্দেহ করি এটি ঠিক উদ্দেশ্যযুক্ত সমাধান নাও হতে পারে তবে যাই হোক না কেন - এটি কার্যকর। :)

ডেমো:

var f = x=>eval(atob`eCp4KzEvLyAgfXBModLS4TvEn4wp1iys9YRRKC85KLIhNMC=`)
var g = x=>eval(atob`CgpNYXRoLnBvdyh4LTEsMC41KSAvLw4589CEIKKMRefipyz=`)
for (var i = -0; i <= 10; i++) console.log(i, '->', f(i), '->', g(f(i)))


ভালো কাজ করে এমন কিছু খুঁজে পাওয়ার জন্য, আমি আশা করি শুরুতে অতিরিক্ত চরিত্রগুলি রাখলে এটি আরও শক্ত হয়ে
উঠবে

চিত্তাকর্ষক :) আমি ঠিক একই পন্থাটি নিয়েছি কিন্তু নতুন লাইনটি চেষ্টা করে দেখিনি। আমি অন্য কোথাও একটি সি হারানোর চেষ্টা করছিলাম কিন্তু কোথাও পাচ্ছিলাম না।
ক্রিস এম

3

মস্তিষ্ক-ফ্লাক, 26 বাইট, গম উইজার্ড

আসল (যোগ 13)

((((()()())){}[()]){}{}{})

ক্র্যাক (১৩ টি বিয়োগ)

([(((()())()){}){}{}](){})




3

জাভাস্ক্রিপ্ট (ES6), 46 বাইট, SLuck49

আসল (গণনা করুন ln (x + 1))

x=>Math.log(x+(+String(t=985921996597669)[5]))

ফাটল

x=>Math[(lg=19979699+55686).toString(9+25)](x)

বিপরীতটি Mathঅন্তর্নির্মিত তা যদি আমি বুঝতে না পারি তবে আমি কখনই এই ফাটল না(lg=19979699+55686).toString(9+25)ফিরে আসার এক বিভ্রান্ত উপায় "expm1"


সুন্দরভাবে সম্পন্ন! হ্যাঁ আমি কী ব্যবহার করব, তা দেখে সিদ্ধান্ত নেওয়ার জন্য ম্যাথের ফাংশনগুলির মধ্যে নজর রেখেছিলাম expm1এবং বলেছিলাম "অপেক্ষা করুন, এটি একটি জিনিস?"
SLuck49


2

জে, 29 বাইট, জাগারব

মূল

5#.[:,(3 5&#:(-$]-)7)#.inv"0]

ফাটল

[:(](07-5)"3 #.-:&#$,)5#.inv]

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

অন্য ক্র্যাক সমতুল্য

[:((3 ]7-5)#.-:&#$,)5#.inv"0]

ব্যাখ্যা

[:(](07-5)"3 #.-:&#$,)5#.inv]  Input: integer n
                            ]  Get n
                      5        The constant 5
                       #.inv   Get the digits of n in base 5
[:(                  )         Operate on those digits D
                    ,            Flatten D (does nothing since it is already a list)
                  #              Get the length of D
               -:&               Halve it
                   $             Reshape D to half its length (only the base 2 digits)
    (07-5)"3                     The constant 2 with rank 3
             #.                  Convert the front-half of D to a decimal from base 2
   ]                             Return the right result

হ্যাঁ, কাজ করে! এটি আমার সমাধান থেকে কিছুটা পৃথক, তবে অনেকটা অবকাশ আছে। বেসিক লজিক যদিও একই।
জাগারব
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.