#!/usr/bin/env python __author__ = "bt3gl" # given two text, find the difference between them # useful for ciphers, for example vinegere, when # everything is all together def find_word(A, B): FOUND = False for i in range(min(len(A), len(B))): if A[i] != B[i] and not FOUND: index = i FOUND = True return index if __name__ == '__main__': A = 'THISTIMEWEWILLGIVEYOUMOREPLAINTEXTTOWORKWITHYOUWILLPROBABLYFINDTHATHAVINGEXTRACONTENTTHATISASCIIMAKESTHISONEMORESOLVABLEITWOULDBESOLVABLEWITHOUTTHATBUTWEWILLMAKESURETOGIVELOTSOFTEXTJUSTTOMAKESURETHATWECANHANDLEITIWONDERHOWMUCHWILLBEREQUIREDLETSPUTTHEMAGICPHRASEFORTHENEXTLEVELINTHEMIDDLERIGHTHERENOTHINGTRICKYOKNOWMORETEXTTOMAKESURETHATITISSOLVABLEISHOULDPROBABLYJUSTPUTINSOMENURSERYRHYMEORSOMETHINGMARYHADALITTLELAMBLITTLELAMBLITTLELAMBMARYHADALITTLELAMBWHOSEFLEEZEWASWHITEASSNOWIDONTWANTTOMAKETHISHARDERTHANITNEEDSTOBEIFYOUVESOLVEDALOTOFSIMPLECRYPTOCHALLENGESYOUPROBABLYALREADYHAVETHECODEANDWILLBREEZERIGHTTHROUGHITIFITHELPSMOSTOFTHEPLAINTEXTISSTATICATEACHOFTHELEVELSIMNOTAMASOCHISTTHEFUNNYTHINGISTHATDEPENDINGONWHICHRANDOMKEYYOUGETTHATPOEMMIGHTBEEXACTLYTHERIGHTOFFSETTOSUCCESSFULLYMOUNTANATTACKWELLSEELITTLEBITMORELITTLEBITMORETHERE' B = 'THISTIMEWEWILLGIVEYOUMOREPLAINTEXTTOWORKWITHYOUWILLPROBABLYFINDTHATHAVINGEXTRACONTENTTHATISASCIIMAKESTHISONEMORESOLVABLEITWOULDBESOLVABLEWITHOUTTHATBUTWEWILLMAKESURETOGIVELOTSOFTEXTJUSTTOMAKESURETHATWECANHANDLEITIWONDERHOWMUCHWILLBEREQUIREDLETSPUTTHEMAGICPHRASEFORTHENEXTLEVELINTHEMIDDLERIGHTHEREBLAHLAHOKNOWMORETEXTTOMAKESURETHATITISSOLVABLEISHOULDPROBABLYJUSTPUTINSOMENURSERYRHYMEORSOMETHINGMARYHADALITTLELAMBLITTLELAMBLITTLELAMBMARYHADALITTLELAMBWHOSEFLEEZEWASWHITEASSNOWIDONTWANTTOMAKETHISHARDERTHANITNEEDSTOBEIFYOUVESOLVEDALOTOFSIMPLECRYPTOCHALLENGESYOUPROBABLYALREADYHAVETHECODEANDWILLBREEZERIGHTTHROUGHITIFITHELPSMOSTOFTHEPLAINTEXTISSTATICATEACHOFTHELEVELSIMNOTAMASOCHISTTHEFUNNYTHINGISTHATDEPENDINGONWHICHRANDOMKEYYOUGETTHATPOEMMIGHTBEEXACTLYTHERIGHTOFFSETTOSUCCESSFULLYMOUNTANATTACKWELLSEELITTLEBITMORELITTLEBITMORETHERE' index = find_word(A, B) print A[index: index + 15] print B[index: index + 15]