15 lines
		
	
	
		
			No EOL
		
	
	
		
			375 B
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			15 lines
		
	
	
		
			No EOL
		
	
	
		
			375 B
		
	
	
	
		
			Python
		
	
	
	
	
	
from string import ascii_uppercase as A
 | 
						|
 | 
						|
def idx(c): return A.index(c)
 | 
						|
def infer_shift(ct, pt):
 | 
						|
    return (idx(ct[0]) - idx(pt[0].upper())) % 26
 | 
						|
 | 
						|
def decrypt(ct, shift):
 | 
						|
    return ''.join(A[(idx(c) - shift) % 26] if c.isalpha() else c for c in ct)
 | 
						|
 | 
						|
known_ct = "CIW"
 | 
						|
known_pt = "yes"
 | 
						|
cipher = "XVIEWYWI"
 | 
						|
 | 
						|
shift = infer_shift(known_ct, known_pt)
 | 
						|
print(decrypt(cipher, shift)) |