ljfun


Развлечения каждый день

Поменьше злобы


Previous Entry Share Next Entry
Секреты пластиковых карт
ljfun
Многие из нас пользуются кредитными или банковскими карточками. Обычно на лицевой стороне 16 цифр. Эти цифры представляют собой уникальный номер карточного счета. Очевидно, просто любые 16 цифр не сработают, они привязаны к системе.

Вот фиктивная карта:


Первые два знака в номере карты описывают тип этой карты. Карты бывают Visa, MasterCard или American Express.


Название

Префикс
Visa 4-
Mastercard 51-, 52-, 53-, 54-, 55-
Diners Club 36-, 38-
Discover 6011-, 65-
JCB 35-
American Express 34-, 37-


Вот список некоторых типов карт с первыми числами номера. Карты можно идентифицировать по первым цифрам, можете проверить это прямо сейчас, достав свою карту из кошелька. Здесь можно найти более детальный список типов карт и первых цифр номера

Контрольное число

Обычно номера кредиток печатают, вводят и передают. Во время всех подобных операций могут совершаться ошибки, особенно учитывая человеческий фактор. Очень часто люди совершают ошибки в переносе номеров. Чтобы минимизировать риск ошибки, номер кредитки также содержит и проверочное число.

Первые 15 цифр 16-значного номера карты присваиваются банком, но последняя цифра, которая называется контрольной, определяется математически на основе всех остальных цифр.
Вы не выбираете последнюю цифру, она определяется самостоятельно. Точная математическая формула для этого вычисления была создана Гансом Питером Луном, инженером IBM в 1954 году. Запатентованный алгоритм сейчас официально используется в качестве мирового стандарта ISO/IEC 7812-1.

Очевидно, только с помощью контрольного числа невозможно избежать всех ошибок (в одном из десяти случаев рандомного набора номера контрольной число совпадет), но алгоритм Луна лучше, чем может казаться на первый взгляд: он определяет любую отдельную ошибку (неправильный набор даже одного знака), например, если вы перепутаете 9 и 6. Также он видит путаницу в рядом стоящих цифрах (кроме разницы между 90 и 09). Это типичные ошибки, которые делают люди, записывая номер карты, поэтому можно с уверенностью заявить, что контрольное число делает хорошее дело.

Как было сказано ранее, только в одном из десяти наборов цифр может получится правильное контрольное число. Это дает возможность хакерам подобрать правильную комбинацию, или малообразованным взломщикам наугад вводить разные цифры для получения желанной комбинации.

Алгоритм Луна

Он основан на принципе арифметического и цифрового корней.



Чтобы посчитать контрольное число, неужно умножить каждое четное число (справа налево) на два. Если результат – двузначное число, необходимо сложить эти два числа в одно (так называемый, цифровой корень).
Далее к этой сумме прибавляем сумму нечетных чисел.
В результате получаем какое-то число (в нашем примере 67). Контрольное число- то число, которое необходимо добавить к этой сумме, чтобы получить число, кратное 10. Для этого номера кредитки контрольное число - 3.

5457623898234113

Использование в других областях

Добавление контрольного числа – довольно частое явление, чтобы убедиться, что номера хорошо сформированы, и избежать ошибок.

Многие системы номеров используют контрольное число, н уже не только по закону Луна: автомобильные номера, штрих-коды и многие другие.

Паритет

Концепция контрольного числа используется уже довольно давно. В начале компьютерной эры оперативная память не была такой надежной, как теперь. Программисты пытались защитить ошибки памяти устройств.

Решение, к которому они пришли, - идея паритета. Они посчитали восемь битов, которые составляли байт. В результате получалось четное или нечетное число битов. Для каждого байта был сгенерирован дополнительный бит. Его назвали паритетным битом.

Значение этого паритетного бита основывалось на сумме имеющихся битов и выбрано таким образом, чтобы количество битов, установленных для значения 1, было четным. Это называется Контроль Четности.



Всякий раз, когда значение читалось на уровне оборудования, паритет пересчитывался. Если паритет был неверным, появлялась ошибка. Вы видите сами, как изменение даже одного бита обрекает паритет на провал.

Так вы не сможете узнать, какой именно бит неправильный.

Чипы оперативной памяти сейчас стали более надежными, и многие современные компьютеры не поддерживают паритетный метод проверки. Тем не менее высокопроизводительные серверы м важные компьютеры (в банках, электростанциях) все еще используют этот метод защиты. На самом деле они сделали шаг вперед: они используют систему под названием ECC (Error-Correcting Code memory) Код исправления ошибок. Как было сказано ранее, паритетный метод проверки может сказать, что есть ошибка, но не скажет, где именно. Именно здесь на помощь приходит ECC.

Код коррекции ошибок (ECC) работает сложнее. Он анализирует информацию по каждой цифре кода. Он способен обнаружить ошибку в одном бите, но что еще важнее, он может исправить каждый отдельный бит на нужное значение. Этот метод работает сложнее, более ценен, и соответственно стоит дороже.

Здесь используется довольно сложная математика, конкретно об этом мы здесь говорить не будем, можно только сказать, что она основана на понятии избытка и хранении информации в более чем одном месте.

Чтобы показать, как это работает, представьте следующую последовательность значений с одним неизвестным битом информации. Если вы уверены во всех других битах, и если мы знаем, что используем контроль четности, мы можем восстановить пропущенный бит информации (в нашем случае пропущенный бит имеет значение 0).



RAID (англ. redundant array of independent disks — избыточный массив независимых дисков)

Это последний пример устойчивости к повреждениям. Жесткий диск обычно является наиболее уязвимым элементом компьютерной системы. И если вы никогда не встречались с проблемами в работе с жестким диском, вы либо очень молоды, либо очень осторожны, либо вам просто повезло.

Так как информация, хранящаяся на жестком диске, очень ценная, будет лучше, если она будет храниться в нескольких местах. Одно из решений, это просто скопировать данные на параллельный набор дисков.

Альтернативный метод, и одновременно более эффективный, использовать принципы паритета. Информация разбивается на блоки данных фиксированной длины и записывается на оба/несколько дисков одновременно. Плюсы в том, что если полетит один диск, существует малая вероятность, что одновременно полетит и второй. Так вы можете положиться на дублирование информации, и когда вы замените вышедший из строя диск, информация автоматически на него запишется без простоя.



Аббревиатура RAID дословно значит «избыточный массив недорогих дисков», потому что когда ее создавали, жесткие диски были дорогими и не такими надежными, как теперь. Эту систему создавали для того, чтобы улучшить защиту недорогих дисков: лучше было купить недорогой диск и поставить эту систему записи, чем переплатить за жесткий диск подороже, но без защиты.

Это было что-то вроде страховочной сети.

На сегодняшний день, когда технологии стали надежнее и совершеннее, у нас все еще есть эти страховочные сети, но это не является стандартной процедурой. Поэтому и расшифровку аббревиатуры изменили на «избыточный массив независимых дисков".
Елена Семашко


Подписывайтесь на блог, будет интересно.

Ну что за херня

Под первыми цифрами всегда скрывается БАНК!


Re: Ну что за херня

Я бы даже сказал BIN

Не вижу смыслового значения, для меня важен пин код, и срок действия, все остальное для меня не нужное растерзание мозга.

Вообще то этом учат на 3 курсе института.

Или уже нет?

Re: Вообще то этом учат на 3 курсе института.

В универе на первом.

Забавненько!

оп чом пост братва?

Статья старая. Сейчас выпускается множество карт (к примеру Momentum у Сбербанка) в которых используются 18 цифр и начинаются они с 6xxx.

Скажу больше-у достаточно распространенной карты AMEX их 15,а не 16.У родоначальницы всех пластиковых карт-системы Diners Club-их 14.На китайской CUP(которых уже под полтора милиарда,но все используются в основном внутри Китая)-их может быть от 16 до 19.

Надо взять на вооружение данную статью! Мало чего понял но всё же интересно!Надо со своими посидеть и по разбираться,что да и как!

Вы очень хорошо вооружитесь данной статьей.

дА, контрольное число часто спасает, особенно когда тупиш в банкомате при переводе

Что-то начали с карт, а закончили контролем целостности и дисковыми массивами. Надо или заголовок статьи исправить или текст.

какбэ инструкция для жаждущих всего исразу
камментов 33 гдето будет у этого пста
сиськи бы

сейчас мы всех кардеров тут перепишем

Расстроился....осознав какой я недалёкий.Две карточки на руках.....а я нихера про них кроме пинов не знаю.Зря жизь прожил.Вот так вот людей в депрессию и вгоняют.Луччеб не читал :-(

Если есть специалисты по телемеханики, то они могут заверить что есть алгоритм Хэмминга и проверочные коды для передачи сигналов, тогда 2-3 ошибки в принятом коде могут автоматически исправляться. А Алгоритм Луна - это самая ботва из защищённого и исправляемого кода.

Истинно так! Кроме того, из того, что первым приходит в голову - циклический код CRC и коды Соломона-Рида, которые мы решали на листочке толи на втором, толи на третьем курсе.
"То, что делает жизнь любого студента по особенному весёлой и интересной". :)

Школьный доклад по информатике, причем, вероятно, перевод с английского...
Детям и офисным работникам полезно ознакомиться)))

?

Log in

No account? Create an account