Files
pyDefis/Séquence Chiffrée.py
Francois JUMELLE 20526d93c8 Initial release
2021-05-03 22:32:40 +02:00

157 lines
7.6 KiB
Python

input = """XSDSBGSCPGSFJOVCZASGOAAOFHWBEISJCIGTSFSNPWSBRSRSAO
BRSFIBSSGQCFHSDOFHSZSUFOAASQOFGWASGDFSJWGWCBGGCBHS
MLRODXDKBOIBDOXKAGBRZLKZLROPFICXRQQOLRSBOIBJLQLDOB
TVMWSRHYGSQXIPIKEVSRUYMZETSVXIVGIXXIRSXITSYVVEWERW
XIONYMYWBULAYLXYPINLYXYJYWBYKOUHNUHIOMQUNMIHMCFSUO
CIGPXCEDJGADCSGTHYTRGDXHFJTCDJHEDJGGDCHATEGTCSGTYP
PBULHUHSFZLJOPTPXBLAYLZPUALYLZZHUALHALYTPULYLAJLAA
JJSVZJYJSJYFWIJWFUFXFJYWJHQTXJVZFSIQJOJZSJMTRRJKZY
XIZBQIDMKTIVWBMAPMZTWKSPWTUMALWVVIAMAQVABZCKBQWVAI
VYEPNFTUJRVFTTJRVFMRVVOWFOBJUBEFNBOEFSNIJMUPODVCJU
OHPRWVHFUHWTXLQRXVDVVXUHUDODYLFWRLUHHVWFRORTXLQWHV
FYJYIJQJHTSIZNWJINWJHYJRJSYFZXFQTSNQNSXNXYFYTZYUFW
ZOIAROKXKSKTZYAXIKVUOTZKTLOTORSUTZGRAOSKSKGAYGRUTK
GWXVETKTGMJNXLTMTVAXXMTBMMXKFBGXXXMJNXGHNLGTOBHGLI
YHFDHNABHFQVFGENVERRANGGRAQNAGYRQRABHRZRAGYRQBPGRH
BODKSDZKBDSFYSBCOCWKVKNOCODTOBOCDKSCOEVKFOMRYVWOCO
UMJOTQFDUFVSKFWBJTQPVWPJSKFTQFSFWPVTGBJSFQBTTFSVOF
IFVSFEVOFNBOJFSFBVTTJJOUFSFTTBOUFRVJOTUSVDUJWFEJUI
QNOGUUCUUGACPVRTGUFGNCVCDNGGVRNCCPVFGXCPVNWKNGUFGU
OEJOZAOXKJODKIIAOMQWJPWRKQOWIESWPOKJFAZKEORKQOBWEN
WLGMLWKEWKWPUMKWKVWFSNGAJHSKHDMKLGLKSLAKXSALNGLJWD
ZBDODHZXPMDJNDOZKJPMQJPNDINKZXOZPMHJIMZXDOQJPNNZMV
TKDUWHQDTUKJYBYJUQKFEYDJTULKUFHEVUIIYEDDUBZUTEYITQ
WJMYQJPNAVDMZKVMOYZNXDMXJINOVIXZNOJPOZNKVMODXPGDZM
MALIVATMAYCMTTMAUPQTBWVKCJQBBMABDMVCUMZMVLZMDQAQBM
QRQAUHIJHUUJYBHQSEDJQRHYULUCUDJBUIVQYJIZQYYSYTULQD
CVXRLXWCRWDJCRULNBNUDLDKAJCRXWBNGCAJXAMRWJRANBZDRY
JPMMVDZIOAVDMZNJPMDMZNDZGGZNIVQVDZIOKVNZOZGZKMZGPY
POPNPESZCCTMWPOCLXPUPDFTDECPDLFNZFCLYEOPEZFEPDWPDD
WZBMALMKZQBCZMAAMKZMBMARMACQAUMUMTICBMCZLCVXMBQBWC
YUDJHVXUFHVXMHWGDQVOHTXHOMDLDQDOBVHFHQWFLQTXDQWHVB
QRCKCQBCAPGRSPCQBGDDCPCLRCQHYTMSCACNCLBYLROSCACJSG
QWSHOWHSBHWSFSASBHBCIJSOIDCIFACWZCPXSQHWTRSQSILEIW
JIODIQZIOZXZNTNOZHZZOVDONVINYJPOZYZHKZXCZMYZXMJDMZ
FJXAHPEEAXFJPXIPJCBTHHPVTTISTUPXGTEAJIDIHJEEDHTGFJ
RPRFFVTARFRGNVRAGFRHYRZRAGQRFQRFFVAFSNVGFCNEQRFRAS
KXDCCEZZYCKXDDYEDOPYSCAESVCCOBKZZYBDKSOXDKEHVODDBO
NYPIVGKCVWZOEVKKGDLPVDGZNMZBGZNLPDKZMHZOOZIOYZYZXC
WTTFSFZSGSQFWHIFSGGSQFSHSGSHZOGCZIHWCBBSTIHDOGRWTT
TNTWPWPACPXTPCXPDDLRPBFTXPQFEDZFXTDPELTEEPWWPXPYEN
IOLNKOCFGYZONCGJIMMCVFYXYNLIOPYLUONLYWBIMYKOYFUMCA
OJGJDBUJPOEVTJHOFDPNNFWPVTMFTBWFAMBMFUUSFFFTUMBQMV
HUGTFJTBBTCITBEADNTTSTAPAEWPQTIPCVAPXHTIHPEGTSDBXC
RETVVJKKVCCVDVEKDRIHLVVHLFECRKIFLMVUREJCVJGYIRJVJC
AOLHQOYKQNPAOKNOQNHAOMQEJVAOECJAOMQEYKILKOWEAJPHAL
DQYUQDYQEEMSQOUZCQFMUQZFEQYNXMNXQEUXQFMUFPAZODMUEA
RREFPIHIGSRGPYVIUYMPWGSVVIWTSRHEMIRXEPEPIXXVIIMPIW
EGCLTBFPELYEZEWPDTRYPAZCELTEFYOCLAPLFELYEZETWYPYAZ
XWCZZMTMDMZTMLMNQQTNICBBZWCDMZTMUWBAMKZMBBMVBIKCTM
DFMUFBMEYMUEMXMYMZUQDQPAZFXQEPDMBQMGJQFMUQZFPUEBAE
KYPKSKJUAZGOWAORYTKZGOKTZKSVRUEKYATOWAKSKTZWAKVUAX
JOBOYKXRKYSUZYJGTYRKYVNXGYKYPKSOYJUTIIKZZKNEVUZNKY
GSWGNCNGVVTGGGVCKVTGRTGUGPVGGRCTNGUKIPGEGVCKVNCNCI
MJNNZYDAADXPGOZVKMZNZGJMYMZYZHKGJDYZNGZOOMZNZNOKZP
GULKOYYHUHAFUCMYNFUJLYXIGCHUHWYXYWYLNUCHYMFYNNLYMK
RFXMMXOXFQAXKPRKBMXDBBKQFBOBMBRQBQOBXYPLIRJBKQJLAF
KNJJIFSXZSJHTZWYJUMWFXJITWINSFNWJQTWIWJIJRUQTNIJXQ
QFFDQEQEFBMDADPDQZGYQDUCGQXQEGUHMZFFMAUZETDPQFXYMU
CDKYODSZOEFOXDODBOWSCOCCEBVOWOWOZSONMOEDODOEXDBKFK
ZCKIFGCFEXUVJJRPVITYRHLVTFDSZERZJFEALJHLRCRJFCLKZF
EARKKVEUZJUFETLEVRLKIVVGIVLMVJRJVTFEUVMZJZKVDYZCKF
RGYFMXXQIVIQMXHIYBTIXMXIWTLVEWIWTYMWYRQIWWEKIUYMRI
YKJPAJWJPLWOZAZNWLAWQIAOAIXHWAPNAQJIKPQJEMQARKEYEZ
WEHHAQNOYAOOECJAOZWJOYAIKPFAPNKQRWEZAQTAMQEBKNIAJP
ZOGSQCBRSSHZOEIOHFWSASZSHHFSRIBACHRSQWBEZSHHFSGEIW
YXDEJRCMXWLNCANBNENAXDUNENAXDWNENARUWNCJRCYJBMXDCN
QTMQAHAZANJEANZAYAOIKPOYKJOPEPQWJPQJANALKJOAWQJALD
BKCOODKSDVOFBKSODVOCMSBMYXCDKXMOCWOPSBOXDZOXCOBAEO
HJYFNYZSJWJUTSXJKFNYJUFWQFOJZSJKJRRJUFWYFSYIJHJUWN
PEKRGLCXCKUNCEGTVKVWFGSWGNGUUKIPGUEQTTGURQPFCKGPVC
NQEXMMKXLGOXMKETWBYYBVNEMXGXMTBMITLXGVHKXOTBGVNXNG
VZUVVYVLIVLJVDVGVIDZKUVUVTFLMIZIURLKIVJCVKKIVJAVGV
GLTBJNXVXLWXFTGWXLWXOTBXGMOXGBKWXJNXEJNNGTRTGMXNTN
QOBCLFPABPOXMMLOQPAFKQFJFQBXSBZIXGBRKBCBJJBBQNRBMX
XIUTYKWAKTZYOPKJKIUABXGOYATSUZGEGTZJKADKYKVGXKYVGX
YRKVSYTIHIXVSMWPIXXVIWGIQSXTSYVVEMXGSVVIWTSRHVIEYQ
RWHOVLHSUHQRPGHODMHXQHIHPPHMHWURXYDLTXHFHWWHFRPELQ
LTDZYEPCXTYLTEWLASCLDPOLYDECZTDPDAPNPDOTQQPCPYEPDN
ZOVDOXZMOVDIZHZIOPIVKKZGVYMZNNZVZGNDZEJWODINVDINDG
VJCVKKIVJCJVKZUVHLVCRGGVCGFLMRZKZCVKIVHLVJKZFEZCPR
YDLWTXDWUHOHWWUHVGDQVOHPRWTXLSUHFHGDLWHOVLHHWFHPRW
NZOZMHDIVDOKVMPIZXZHJOYZQVDOZOMZXJHZEZNNVTVDXZKZIY
CPVVQWVGUNGUCWVTGUNGVVTGUUGVGTOKPCPVRCTWPGOCKUCWEW
ARARSBEZNVGHAZBGNHFFVNCCEBCEVRNYNPVEPBAFGNAPRWRPBA
IVDNNVDNYJIXGZNGZOOMZNXJZOHZOEZKJPQVDNHVDIOZIVIOVO
ELBFPCWPACPXTPCXPDDLRPOTGTDPCPYXZEDPEXPEECPOPDAZTY
UTBMBQMBDFEFDIBDVOEFTTJHOFTSFTUFTJODPOOVTMBQISBTFQ
ZMAMVBIQBITWZATIAXMKBACQDIVBUMZMMATVMTIXZMUQMZMLMA
EXMMKXLGXIHNOTBMXMKXJNXTVXMTBMETWXVHNOXKMXETIENLBF
DCFHOBHSQOFROBGQSASGGOUSGWPFSTZSGWUBSDOFOWGGOWHHFC
AKXGAKWLDSDWLLJWZWLSALLGMLAFVAIMWWVSFKDWKWUGFVEGLD
ZOGQZRDCDUDMZHSCNMBZLGDQDZDRKZMDNTDMQDLOKZZMSKDRON
YDJIQCXUHUQRUIBQDUOZQLQYIERJUDKKDJUBDECRHUTUBUJJHU
LJNXCXIHNOTBLXLIXKXKWXVHNOKBKEXLXVHGWFXLLTZXJNBTOX
FPHVGHFRXYHUWHVSUHFHGHQWHVGRQQDLWOHUHVXOWDWVXLYDQW
IMTZQMATIXPZIAMVMXWCDIQBXZMAMVBMZLMAMVAYCIDMKCVBMB
VOHRVJNBORVBJFOUFUKFQFOTBJRVFDFUBJUMBMFOPNTPJUEFMB
CJMZOMAWQBLMTIUIQAWVWMBIQBLMAKMVLCTMKWZZMAXWVLIVBQ
WLXWWDURWBYNLCNDAVJACRWNCVXRJERXWBNLXDCNJENLUNYUDB
ERORWCNANCUNANLRCMNBANBDUCJCBBDAYANWJWCBXKCNWDBYJA
ACBOAWAOZUFSRSHSZZSGRWTTWQIZHSGSHOZCFGEISTWHSGJCIG
ABJXKAXIFKPMBZQBROGXSXFPQLRQBOXFPLKABZOLFOBNRBXYBP
KZMDXDSZHSTMZLDQHBZHMOTHRPTDZADDRSTMDBNMSQZBSHNMZL
TGXRPXCTSJBDIPQTATIFJJCTATIIGTEDGIPCIATIXBQGTSTRTE
BZTBWBJUFUFMFQPJOUEFEFQBSUEFUPVUFMBGGBJSFMFTBMMVTJ
DCHSTAPYTJCTUTBBTPHDCEPHHTHDCBPCFJTSTRDCUXPCRTTCKT
IJJFEDRIZKFLKJVDSCRZKTFEWZIDVITVKKVYPGFKYVJVAVKVCV
MXGVNOGOJUTIGSUTGSOCORYUTNGXMXKGBKJKRGVUROIKGTKCEU
LEKOCMYMNJULZICMMYLPCXYGYMWIHHUCMMUHWYMYHGUNCYLYXY
SHYCUIZUBKYTUCQDTQYIYBUDECTUQRUIBQDUOBKYUJQYJSEDDK
ATNHNXFIJUJHMJQJLWJINSQJUQZXIFSLJWJZCIJHMNHFLTQJXT
NWRJRJTOJWJHJAFNXHJYYJWJUTSXJMNQYTSHZGNYYRFIWJXXFQ
ZYZMIDZMHZNNVBZYZNGVIZTLPDYJIIVXZMZNPGOVOZGNDZMZVM
XMHFXXMMARZHETWWBMBHGWNGIXMWNGWVHFIEXMTEXFXLLTZXJN
RVNVXWCAJZDNUNPANMRWJEJRCYJBBNMNUJYNABDJBRXWJDGVNW
WYAOAPYKJJWEOOWJPHAOXWJZEPOZAYDEYWCKFAYKILNEOMQEHJ
ODKBNOBKSDZKCKVOCWODDBOKOHOMEDSYXTOZKBDSCDYEDNOCES
QBMLROKLOCLIHXSBZJLKZLIIBDRBBQXJFIBAOTXQPLKJXFPJXI
DAQNAQOAIAJPHAYNEIAWRWEPAPAYKIIEOYAOPQJAXKJJABKNPQ
RIHIXVIEWWSGMIEZSYWHERWYRIEJJEMVIHMXPMRWTIGXIYVEZI
JJOHSLBYTHPZWLYTLAALGTVPBULYLMSLEPVUCVBZUHCLGKHBAY
MAKPMNAYCMDWCAUMUMBIVLQAYCMUWQRIQLMAKWUXBMAIZMVLZM
HKLZZBWLYPLBYZZPHILZSHULFXBPOHIPAHPALSYPNLLZAYLLSS
RZRAGYNFFNFFVARGDHVYCERAARYNSHVGRCRAQNAGDHRWRFHVFV
LRKRNWCAJWZDRUUNVNWCSJDAJRLNACJRWNVNWCMNPAJWMBNWWD
KUPCAGBRCUFGETCKPVGKNPGUUCKGTCRCUFGUGPHWKTEQOOGPVN
OCKFOJFYECCKPESDONOWYXDBOBKSDCKMEVZKLSVSDOKVYBCXYE
EZMHAZECGMMXXQDBDAOQPQDMEAZMDDQEFMFUAZVMFFQZPEEAZM
QQHUDDHBHCTMHMRSZMSZKZTSQDCZMRPTDKATSUHDMCQZHSHKOZ
ALNZDNSNUDRJRNLARCYXDAUNOJRANENWRALNBCRWLAXHJKUNVX
VAQMCZPWTUMAKWUUMVBCVMTMBBZMLMDWCAXWCZZIQBMTTMTMNI
XGTKTCXGXABTHTBQATFJTAATCTEDJGGPXIPKDXGSPJIGTTUUTI
JNXWXOXBEEXKLXLLHNIHGLXMWXATMXKLTYNBMXCXIXGLXTOHBK
QOLRSBIBGLFKQAXKPJXIBQQOBAFQPEBOILZHELIJBPBQXRCXFQ
XSQFCWGPWSBEISJCWZODFSQWGSASBHBCHFSVCAASEIWACBHSZO
GPYFPFYSZXXPPYPQQPEDPOTCTRPLTEGTGPXPYEGPCDWLAZCEPT
CVKRZKXIREUVKSVRLJFEKVZEKVKRZKSIFEQVZCVKRZKMVKLULE
KWUXTMBMVNTIVMTTMOZQAMMBKWQNNMLCVKPIXMICLMXIVIUIXW
BDKSDEXOLKBLOXYSBOOWLBYECCKSVVOOCYECEXQBKXNXOJKAES
IFKBQQLRQBKJXOZEXKQFICXFPXFQABPJLRIFKBQPXSBZPXZXKK
UBULEYHIQLQDSUHQYDIYEDQKHQYJFKSHEYHUGKUJEKJUBQFHEF
MDZOZGPDVKKVMOZIVDODGNJIIVZIZMBDLPZHZIOVOVKJMOZYZI
MKXXCXVKHBLFXLLBXNKLWBMAHEFXLTOXVEXIENLZKTGWVTEFXJ
FPYZFDQPCZYDMTPYOPYZFDAWLNPCOPCCTPCPWLAZCEPTWQLFEA
LYHXLYNIONYMFYMJLYWUONCIHMUPYWOHAUCFFULXXYWYNNYYMJ
TRTEDJGKDJHXCHETRITJGPEEGTITOKDHBTCDIITHTIAPXHHTOB"""
input = input.splitlines()
for line in input:
for decalage in range(26):
res = ""
for c in line:
res = res + chr((ord(c)-ord('A')+decalage)%26+ord('A'))
if res.find("SECRET") != -1 and res.find("TROUVER") != -1:
print(res)