nt
Emekli
- Katılım
- 21 Nisan 2023
- Mesajlar
- 1,215
Python programlama dilinde yazılmış bazı şifreleme algoritmaları ve matematiksel işlemleri içeren örnek kodları sizlerle paylaşmak istiyorum.
Aşağıda her bir konu için kısa bir açıklama ve ilgili Python dosyalarını bulabilirsiniz.
Don't reinvent the wheel; use libraries and frameworks wisely.
Aşağıda her bir konu için kısa bir açıklama ve ilgili Python dosyalarını bulabilirsiniz.
Don't reinvent the wheel; use libraries and frameworks wisely.
Advanced Encryption Standard (AES) Implementation + ElGamal
ElGamal şifreleme algoritması ile yapılan bir şifreleme ve ardından elde edilen şifreli veriyi AES kullanarak şifrelemektedir
ElGamal + AES:
from Crypto.Util import number
from Crypto.Random import get_random_bytes
from Crypto.Cipher import AES
def eg_encrypt(m, pub_key):
p, g, h = pub_key
k = number.getRandomRange(1, p-1)
c1 = pow(g, k, p)
s = pow(h, k, p)
c2 = [(ord(m[i]) * s) % p for i in range(len(m))]
return c1, c2
def eg_decrypt(c, priv_key):
c1, c2 = c
x, p = priv_key
s = pow(c1, x, p)
m = ''.join([chr((c2[i] * pow(s, p-2, p)) % p) for i in range(len(c2))])
return m
message = "Mekatronik.org bir forum sitesidir."
key = get_random_bytes(16)
iv = get_random_bytes(AES.block_size)
p = number.getPrime(1024)
g = number.getRandomRange(1, p-1)
x = number.getRandomRange(1, p-2)
h = pow(g, x, p)
pub_key = (p, g, h)
priv_key = (x, p)
eg_ciphertext = eg_encrypt(message, pub_key)
print("ElGamal ile Şifrelenmiş Mesaj:")
for pair in eg_ciphertext:
print(pair)
decrypted_message = eg_decrypt(eg_ciphertext, priv_key)
print("\nOrijinal Mesaj:", message)
print("Çözülen Mesaj:", decrypted_message)
kodun çıktısı şu şekildedir
Bash:
Orijinal Mesaj: Mekatronik.org bir forum sitesidir.
ElGamal ile Şifrelenmiş Mesaj:
(662757319321818644631891752222606451508131849094599825724688873557197478825328725162722262160706298476500536489808559135640825081585193316712315295843736501948438030114901922965830111673454416438677719630526347243241728829733071044053928501199348700728234634918218503395155465360542678854783818114671678029757406196820405422017983845622558336001961190029879586690554122185902286678932696542983023417926336132953823430502268219960319431902138844601364389065272856525231350750153193972131923489585124647099372466173014038381551034798457745893240996873252333175570511457029951367804135956746778255482762178808319937501961322358704154373493300152489696098496106693073902038167623729442557963832196501968033389290936262033499793087609062729053312226847356916902746434128084531016961666186964206376824487586796183122508372540011890631061460359920898412254631524127120086725656031899862614563417213059665228219682139461115037214656703747309042798477194030216087747752512053077332350465396987292831823660350642591942133842967465336450370665487828694813109256021011193404056184832161228403888723740438823008622313651768258998750048204849129072713692551936251786810959565537268989622441794550331238480683480340430128227651662843388170568155545437534129771853600751022325978874994700346148582854720803035122757698041064853299772091580579095227239998329555454233858734314750004731255776982998682024743662442556090145394669692956796163336708712953308639447943925484768243653556263176416350843455389052971246556259244987016140136443408838668635046012901045257332578861615557652461699741128508853328788329534628784444866282565739687207064741602569462150023649635509334250330694106929495883675541251224823798879585531843610679072579961561506301261740978286380940759674856292223077742370971134472956448787676980018382113149818552618156268235631745432971896870486536692238050946500788689028572218598249674370344667416213224329626839861769953573485049729671420361064870804257661203773158307072010185190868441849207474332870926315336023219516077621234933172802826789162369622606376078936297631727618314050665270595585565722463827225174202630624007997420751735151362496386495246667090019678543723977142735187502104009841973914263204669818827207221861388606946097108297611336189548987773801398272248842198366825035398324322074090537649671661468853469429142303473720038526330073406167176202952779196683320565930070914643729650829568219471386966481154248735393576802550591932527273387621336792265141586168473832742554196031801548080600396653693991940953740699303755181990061215151682472091248811523728017091619935776989094263967148742134177933557738261854511536785754166104961890413843446596225802689961536061529892037186057034241473631558367735369541072844499315930541898954697005210648626146473510452754081028529151488903950324206959598578758862735997259070693080034750412582729625961678354272875256091893740631392816384215748697097370173267267399062443953236310773289192708218642764933405929711723697253380129032697565704822686780924338451123633447171036038115574573572257632876325381694109341092032685569877404578280724515509257217891479539693002790162123786853662661261712557854185070288196111800888769754007585880502377145476048558288796175470176579614543084808733500988199853768861936168151188054848953388911200225203268702080474068295791355804295399004507196384168657028199218202498330273384193025053160991315312318601708228823792798818208052776453810253583347952211466846167290033516991265725071856523429191680725668315938209002238289857041796656303191869306626332661927429016056566722008341717351117229158987985019398586363437767470520079917919383547678417515345184443621551706042295221846050195758216768297424734240762043451053347858925693603086746656890076061472335067172987291108581563496150686251776265436623210054477771044530049633091227890997986427265711318102176112621692330232419689678424107283422313306122722551586580163648471114331803964151862288938131927611358140107161612399314503245430960024819199203582639328221004466136175320245547188078164591635971549698121502013986226783153287069086246396233267848124086512855264242004906398545215404198351495016169217896808139682152849090198021685922546050056777206964235047163332189507244738938201454804692570779996864266070078512513317439465083196432824407341587745457640947363777771004586586042776623169905586290734124787425818341557137998067547896250404221130256165146342564215480938631243243275158574184268402433004163522660467654878275408913902206106101868693942332772719675826195064744581476894340907307738721932466246992158564688114389541375108512850313565161805365450789077263367396695642898362230502525690697358973436426462948218745717866199396792006110504858678276595481102598454603292572931593712473667169088358830343186513297988273267128796250190784747896003862790882100495774594868899322575429142686219966911041583600875460474419024952476576066976926623346518273159251323558775628731508758033330736883947975094624171901793646432161193855450077346635582646556062344540417358556347193114272029465309942585269783564906558496341380481034684828703005095784056131827833854361105703818303721540437042379961849504303581371174050540251353848138456732077680459000312050882569791198256858431124071843932556763261155494109836794746167567372990951471227636641030041605235234674379848042677770855654187301700077311461334110446880132328583682166881861264566150943027184034476163980359675743654905555154265086825548561274555497607334000582721665582765012804751141588906264610021286140267489202173654088029190733859785314692403232836757847441987721002682341079332078051974508143254004423322968273750625837754369922618395537257896508960281541334427767640041258829785190787042790088012606430214546545328410218558963358926812823905689393503365011646260460457939742245204660145582650926675746466724894559487156109930762663987411725676305990292587797857428727711669007744580030983046416858791803539614066019341264130119343365205635529697957051102646907187037020282758925048840221125251769424135334429396413541361515038449632344584738071373986134550313361291802908601246573977707696901550754121213697501013223540651224122447630503562324776305346559513583150588199163178867994481003595038470996907915942716715319956533800952582581972454461514890309388452774876681059340674238431171097070256468092622733699221789164730736376485262541949743453906365675589539678994318764276639169692073509284504788624642407060100855743156161225652425568927667693590788776331556963695489301109126362103808671293195007374900758529421686654562698828743898879116738293839735080395444541845926802236864368290999554575305036082174607237153378490706229049139003602967671731015632692)
Çözülen Mesaj: Mekatronik.org bir forum sitesidir.
Son düzenleme: