Четырехцветную картинку 8 на 8 пикселей (2128 вариантов) можно было бы упаковать в бессмысленную фразу естественного языка. Для формата «AAN,AN,AAN,AN,AAN» (A — adjective, прилагательное, N — noun, существительное) при словаре в 1127 прилагательных и 983 существительных получается (716)*(238)*(9835) вариантов (приблизительно 2130.81).
able account achieve achiever acoustics act action activity actor addition
adjustment advertisement advice aftermath afternoon afterthought agreement air
airplane airport alarm alley amount amusement anger angle animal answer ant
ants apparatus apparel apple apples appliance approval arch argument arithmetic
arm army art attack attempt attention attraction aunt authority babies baby
back badge bag bait balance ball balloon balls banana band base baseball basin
basket basketball bat bath battle bead beam bean bear bears beast bed bedroom
beds bee beef beetle beggar beginner behavior belief believe bell bells berry
bike bikes bird birds birth birthday bit bite blade blood blow board boat boats
body bomb bone book books boot border bottle boundary box boy boys brain brake
branch brass bread breakfast breath brick bridge brother brothers brush bubble
bucket building bulb bun burn burst bushes business butter button cabbage cable
cactus cake cakes calculator calendar camera camp can cannon canvas cap caption
car card care carpenter carriage cars cart cast cat cats cattle cause cave
celery cellar cemetery cent chain chair chairs chalk chance change channel
cheese cherries cherry chess chicken chickens children chin christmas-balls
church circle clam class clock clocks cloth cloud clouds clover club coach coal
coast coat cobweb coil collar color comb comfort committee company comparison
competition condition connection control cook copper copy cord cork corn cough
country cover cow cows crack cracker crate crayon cream creator creature credit
crib crime crook crow crowd crown crush cry cub cup current curtain curve
cushion dad daughter day death debt decision deer degree design desire desk
destruction detail development digestion dime dinner dinosaurs direction dirt
discovery discussion disease disgust distance distribution division dock doctor
dog dogs doll dolls donkey door downtown drain drawer dress drink driving drop
drug drum duck ducks dust ear earth earthquake edge education effect egg eggnog
eggs elbow end engine error event example exchange existence expansion
experience expert eye eyes face fact fairies fall family fan fang farm farmer
father faucet fear feast feather feeling feet fiction field fifth fight finger
fire fireman fish flag flame flavor flesh flight flock floor flower flowers fly
fog fold food foot force fork form fowl frame friction friend friends frog
frogs front fruit fuel furniture galley game garden gate geese ghost giants
giraffe girl girls glass glove glue goat gold goldfish good-bye goose
government governor grade grain grandfather grandmother grape grass grip ground
group growth guide guitar gun hair haircut hall hammer hand hands harbor
harmony hat hate head health hearing heart heat help hen hill history hobbies
hole holiday home honey hook hope horn horse horses hose hospital hot hour
house houses humor hydrant ice icicle idea impulse income increase industry ink
insect instrument insurance interest invention iron island jail jam jar jeans
jelly jellyfish jewel join joke journey judge juice jump kettle key kick kiss
kite kitten kittens kitty knee knife knot knowledge laborer lace ladybug lake
lamp land language laugh lawyer lead leaf learning leather leg legs letter
letters lettuce level library lift light limit line linen lip liquid list
lizards loaf lock locket look loss love low lumber lunch lunchroom machine
magic maid mailbox mailman man manager map marble mark market mask mass match
meal measure meat meeting memory men metal mice middle milk mind mine minister
mint minute mist mitten mom money monkey month moon morning mother motion
mountain mouth move muscle music nail name nation neck need needle nerve nest
net news night noise north nose note notebook number nut oatmeal observation
ocean offer office oil operation opinion orange oranges order organization
ornament oven owl owner page pail pain paint pan pancake paper parcel parent
park part partner party passenger paste patch payment peace pear pen pencil
person pest pet pets pickle picture pie pies pig pigs pin pipe pizzas place
plane planes plant plantation plants plastic plate play playground pleasure
plot plough pocket point poison police polish pollution popcorn porter position
pot potato powder power price print prison process produce profit property
prose protest pull pump punishment purpose push quarter quartz queen question
quicksand quiet quill quilt quince quiver rabbit rabbits rail railway rain
rainstorm rake range rat rate ray reaction reading reason receipt recess record
regret relation religion representative request respect rest reward rhythm rice
riddle rifle ring rings river road robin rock rod roll roof room root rose
route rub rule run sack sail salt sand scale scarecrow scarf scene scent school
science scissors screw sea seashore seat secretary seed selection self sense
servant shade shake shame shape sheep sheet shelf ship shirt shock shoe shoes
shop show side sidewalk sign silk silver sink sister sisters size skate skin
skirt sky slave sleep sleet slip slope smash smell smile smoke snail snails
snake snakes sneeze snow soap society sock soda sofa son song songs sort sound
soup space spade spark spiders sponge spoon spot spring spy square squirrel
stage stamp star start statement station steam steel stem step stew stick
sticks stitch stocking stomach stone stop store story stove stranger straw
stream street stretch string structure substance sugar suggestion suit summer
sun support surprise sweater swim swing system table tail talk tank taste tax
teaching team teeth temper tendency tent territory test texture theory thing
things thought thread thrill throat throne thumb thunder ticket tiger time tin
title toad toe toes tomatoes tongue tooth toothbrush toothpaste top touch town
toy toys trade trail train trains tramp transport tray treatment tree trees
trick trip trouble trousers truck trucks tub turkey turn twig twist umbrella
uncle underwear unit use vacation value van vase vegetable veil vein verse
vessel vest view visitor voice volcano volleyball voyage walk wall war wash
waste watch water wave waves wax way wealth weather week weight wheel whip
whistle wilderness wind window wine wing winter wire wish woman women wood wool
word work worm wound wren wrench wrist writer writing yak yam yard yarn year
yoke zebra zephyr zinc zipper zoo
Это, собственно, основной используемый формат для хранения/обмена приватными, публичными и симметричными ключами, который может хранить кучу всяческой сопроводительной информации, относящейся к криптографии. Можно вообще извратиться и использовать его в качестве контейнера общего назначения, вместо binary1 plist или ebml.
Для расшифровки нужен же не сам секрет, а message_key. В нём «всего лишь» 16 байт.
Вот только незадача в том, что по шифротексту невозможно определить, какой message_key верен, т.е. для проверки таки придется искать 2**256 preimage-й для MD2, а его вроде еще не взломали так, чтобы атака имела практический смысл.
Боб передал Алисе публичный ключ в формате ASN.1 DER, вот сюда можно вставить дамп из примера и посмотреть, как это выглядит.
Так что факторизировать нужно следующее число —
356527243659966548693033457464923716516539456_
319730960454335082893872317336655556619514752_
052654033163046749556804944585554927982098217_
315985406413478394848605180442422330065661415_
504642348309789041002870095790088186364384614_
356226611862292009565904103583804420207453441
А, ну тогда я останавливаю брутфорс, а то мне ровно 1663168150764967181301373761365378286839988198203411906 возрастов Вселенной до конца перебора осталось.
В принципе, раз сбрутить секрет не вариант, можно попробовать факторизировать открытый ключ — не на ноутбуке, конечно же.
Собственно, автор совершил ошибку, использовав textbook RSA и 32-битное целое вместе, поэтому super_secret можно просто сбрутить — перебирать все возможные super_secret-ы и шифровать их предоставленным открытым ключом, пока результат не совпадет с тем, что отправила Алиса. Если бы использовался паддинг, или секрет был бы хотя бы 64 бита, этот сценарий бы уже не сработал.
Я не фанат разработчиков телеграмма, но даже на моем ноутбуке средней паршивости скрипт на Python, набросанный за 10 минут, получит расшифрованное содержимое сообщения самое большее через 22 часа. В чем тогда смысл?
Да, такая возможность есть (хоть со $100) и общедоступна. Т.е. на данный момент развития рынка любой (включая хомячков) может сразу начать торговать без конфликта интересов.
Подскажите, пожалуйста, каким образом это можно сделать?
Как можно было ТАК налажать в отрисовке загрузки спектрума? Я понимаю, если бы это был сюжет для первого канала, но целевой аудитории такое же как серпом по яйкам.
Я вижу несколько вариантов того, как можно получить EncryptedIV:
a) AES(plaintext = EncryptedTempIV, key = KeyIV, mode = ECB)
b) AES(plaintext = EncryptedTempIV, key = KeyIV, iv = PlainIV, mode = CBC)
c) AES(plaintext = EncryptedTempIV, key = KeyMessage, mode = ECB)
d) четвертая смешная опция
К первому варианту (a) — авторы точно уверены, что Encrypt(Encrypt(x)), где Encrypt(x) := AES(plaintext = x, key = SAME_KEY, mode = ECB) — это вообще хорошая идея? В голову сразу приходит пример с гаммированием и полной обратимостью в случае одинакового ключа — кто-то вообще проводил анализ того, что получается с данными, если их дважды зашифровать одинаковым ключом?
А можете немного подробнее объяснить, если вам не трудно: «При этом IV шифруется тем же самым ключом дважды: до шифрования и после, называется это двойным шифрованием (double encryption)» — что имеется в виду под «до шифрования» и «после шифрования»? IV ведь не является частью открытого текста, чем IV до шифрования отличается от того, что после?
«Apple Macintosh, концептуальная модель.»
Так что факторизировать нужно следующее число —
356527243659966548693033457464923716516539456_
319730960454335082893872317336655556619514752_
052654033163046749556804944585554927982098217_
315985406413478394848605180442422330065661415_
504642348309789041002870095790088186364384614_
356226611862292009565904103583804420207453441
В принципе, раз сбрутить секрет не вариант, можно попробовать факторизировать открытый ключ — не на ноутбуке, конечно же.
Подскажите, пожалуйста, каким образом это можно сделать?
Версии WADов подойдут от 1.666 и выше.
— KeyIV — ключ для IV
— KeyMessage — ключ для сообщения
— PlainIV — открытый IV
— PlainMessage — открытый текст
EncryptedTempIV = AES(plaintext = PlainIV, key = KeyIV, mode = ECB)
EncryptedMessage = AES(plaintext = PlainMessage, key = KeyMessage, iv = EncryptedTempIV, mode = CBC)
EncryptedIV = ???
FinalMessage = Pack(EncryptedIV, EncryptedMessage)
Я вижу несколько вариантов того, как можно получить EncryptedIV:
a) AES(plaintext = EncryptedTempIV, key = KeyIV, mode = ECB)
b) AES(plaintext = EncryptedTempIV, key = KeyIV, iv = PlainIV, mode = CBC)
c) AES(plaintext = EncryptedTempIV, key = KeyMessage, mode = ECB)
d) четвертая смешная опция
К первому варианту (a) — авторы точно уверены, что Encrypt(Encrypt(x)), где Encrypt(x) := AES(plaintext = x, key = SAME_KEY, mode = ECB) — это вообще хорошая идея? В голову сразу приходит пример с гаммированием и полной обратимостью в случае одинакового ключа — кто-то вообще проводил анализ того, что получается с данными, если их дважды зашифровать одинаковым ключом?
Какой из вариантов используется на самом деле?