Расшифровка gnu: Что означает GNU? -определения GNU

Содержание

Что означает GNU? -определения GNU


Вы ищете значения GNU? На следующем изображении вы можете увидеть основные определения GNU. При желании вы также можете загрузить файл изображения для печати или поделиться им со своим другом через Facebook, Twitter, Pinterest, Google и т. Д. Чтобы увидеть все значения GNU, пожалуйста, прокрутите вниз. Полный список определений приведен в таблице ниже в алфавитном порядке.

Основные значения GNU

На следующем изображении представлены наиболее часто используемые значения GNU. Вы можете записать файл изображения в формате PNG для автономного использования или отправить его своим друзьям по электронной почте.Если вы являетесь веб-мастером некоммерческого веб-сайта, пожалуйста, не стесняйтесь публиковать изображение определений GNU на вашем веб-сайте.

Все определения GNU

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

Что означает GNU в тексте

В общем, GNU является аббревиатурой или аббревиатурой, которая определяется простым языком. Эта страница иллюстрирует, как GNU используется в обмена сообщениями и чат-форумах, в дополнение к социальным сетям, таким как VK, Instagram, Whatsapp и Snapchat. Из приведенной выше таблицы, вы можете просмотреть все значения GNU: некоторые из них образовательные термины, другие медицинские термины, и даже компьютерные термины. Если вы знаете другое определение GNU, пожалуйста, свяжитесь с нами. Мы включим его во время следующего обновления нашей базы данных. Пожалуйста, имейте в информации, что некоторые из наших сокращений и их определения создаются нашими посетителями. Поэтому ваше предложение о новых аббревиатур приветствуется! В качестве возврата мы перевели аббревиатуру GNU на испанский, французский, китайский, португальский, русский и т.д. Далее можно прокрутить вниз и щелкнуть в меню языка, чтобы найти значения GNU на других 42 языках.

GNU — это… Что такое GNU?

У этого термина существуют и другие значения, см. GNU (значения).

GNU (/gnu/ (инф.), рекурсивный акроним от англ. GNU’s Not UNIX — «GNU — не UNIX») — свободная Unix-подобная операционная система, разрабатываемая Проектом GNU.

История

Разработка системы GNU началась 27 сентября 1983 года, когда Ричард Столлман опубликовал объявление о проекте в группах новостей net.unix-wizards и net.usoft.[1]5 января 1984 года Столлман уволился из Массачусетского технологического института с целью посвятить своё время написанию свободного программного обеспечения, а также для того, чтобы институт не мог предъявить какие-либо права на исходный код. Первой программой GNU стал текстовый редактор Emacs. В течение почти 20 лет распространялась и набирала обороты идея создания ПО с открытым исходным кодом, увеличивалось число программ, число разработчиков. Необходима была бесплатная среда, позволяющая запуск этих программ. Впоследствии, в августе 1991 года Линус Торвальдс начал работу над свободно распространяемой операционной системой, находящейся под той же лицензией.

В настоящее время система GNU/Linux, более широко известная как просто Linux, достаточно распространена, особенно на рынке серверов, и является вполне завершённой. Она состоит из большого количества программ проекта GNU (в первую очередь системных утилит и GNU toolchain), ядра Linux — части системы, отвечающей за выполнение других программ, включающей драйверы устройств и т. п. — и множества других свободных программ.

GNU Hurd

Официальным же ядром операционной системы GNU является GNU Hurd. Альтернативное название системы на основе этого ядра —

GNU/Hurd, по аналогии с GNU/Linux. Однако, несмотря на то, что Hurd разрабатывается с 1990 года, этот проект всё ещё не завершён (хотя Hurd на основе микроядра Mach уже может нормально функционировать и выполнять многие приложения). По этой причине операционную систему GNU как таковую ещё нельзя считать полностью завершённой и готовой к промышленному использованию.

Интересные факты

В честь проекта GNU назван астероид — 9965 GNU.[2]

Примечания

См. также

Ссылки

GNU — Википедия с видео // WIKI 2

Не следует путать с GNU GPL — лицензией, также созданной в рамках Проекта GNU, и используемой не только для ПО этого проекта.

GNU (/gnu/ (инф.), рекурсивный акроним от англ. GNU’s Not UNIX — «GNU — не Unix»[1]) — свободная[2]

Unix-подобная операционная система, разрабатываемая Проектом GNU.[3]

Акроним GNU был выбран из-за того что GNU является Unix-подобной операционной системой, но отличается от Unix тем, что является свободным и не содержит его кода.[1][4]

Энциклопедичный YouTube

  • 1/4

    Просмотров:

    96 862

    100 220

    106 815

    496 393

  • ✪ Revolution OS (GNU, Linux, FOSS)

  • ✪ GNU/Linux & Video Editing — Computerphile

  • ✪ Видео #2. О Linux, GNU и проблемах с программами

  • ✪ Gnu Crossing river Talek Maasai Mara KENYA

Содержание

История

Разработка системы GNU началась 27 сентября 1983 года, когда Ричард Столлман опубликовал объявление о проекте в группах новостей net.unix-wizards и net.usoft

[5]. 5 января 1984 года Столлман уволился из Массачусетского технологического института с целью посвятить своё время написанию свободного программного обеспечения, а также для того, чтобы институт не мог предъявить каких-либо прав на исходный код. Первой программой GNU стал текстовый редактор Emacs. В течение почти 20 лет распространялась и набирала обороты идея создания свободного ПО, увеличивалось число программ, число разработчиков. Необходима была свободная среда, позволяющая осуществлять запуск этих программ. Впоследствии, в августе 1991 года, Линус Торвальдс начал работу над свободным ядром, находящимся под той же лицензией.[источник не указан 2694 дня]

В настоящее время система GNU/Linux, более широко известная как просто Linux (GNU является основой для GNU/Linux), достаточно распространена, особенно на рынке серверов, и является вполне завершённой. 29 июня 2007 года вышла третья версия лицензии GNU GPLv3

[6] для разрешения некоторых проблем со второй версией GNU[7], которые были обнаружены в течение долгого срока её эксплуатации. Для сохранения актуальности лицензии GPL опционально включает пункт «более поздняя версия», позволяющий пользователям выбирать между оригинальной или обновлённой фондом свободного программного обеспечения условиями лицензии. Разработчики могут пропускать этот пункт при лицензировании; к примеру, ядро Linux лицензировано с использованием GPLv2 без пункта «какая-либо более поздняя версия». GNU/Linux состоит из большого количества программ проекта GNU (в первую очередь системных утилит и GNU toolchain), ядра Linux — части системы, отвечающей за выполнение других программ, включающей драйверы устройств и т. п. — и множества других свободных программ.

GNU Hurd

Официальным же ядром операционной системы GNU является GNU Hurd. Альтернативное название системы на основе этого ядра —

GNU/Hurd, по аналогии с GNU/Linux. Однако, несмотря на то, что Hurd разрабатывается с 1990 года, этот проект всё ещё не завершён (хотя Hurd на основе микроядра Mach уже может нормально функционировать и выполнять многие приложения). По этой причине операционную систему GNU как таковую ещё нельзя считать полностью завершённой и готовой к промышленному использованию.

21 мая 2013 г. вышел в свет дистрибутив «Debian GNU/Hurd 2013». Debian GNU/Hurd в настоящее время доступен только для архитектуры i386 и содержит более 10 000 пакетов.[1]

Интересные факты

В честь проекта GNU назван астероид — 9965 GNU[8].

См. также

Примечания

Проект GNU — Википедия

Материал из Википедии — свободной энциклопедии

Проект GNU

(англ. The GNU Project) — проект по разработке свободного программного обеспечения (СПО), является результатом сотрудничества множества отдельных проектов. Проект был запущен известным программистом и сторонником СПО Ричардом Столлманом 27 сентября 1983 года в Массачусетском технологическом институте.[1] Изначальной целью проекта было «разработать достаточно свободного программного обеспечения <…>, чтобы можно было обойтись без программного обеспечения, которое не является свободным».[2] Чтобы этого достичь, проект в 1984 году приступил к разработке операционной системы GNU (GNU является рекурсивным акронимом, расшифровывающимся, как «GNU is Not Unix»). Эта цель была достигнута в 1992 году, когда последний пробел в ОС GNU — ядро системы — был заполнен сторонней разработкой, ядром Linux, которое было выпущено как свободное программное обеспечение в соответствии с лицензией GNU GPL v2.

Текущая работа проекта GNU включает в себя разработку программного обеспечения, повышение осведомлённости, проведение политических кампаний и раздачу новых материалов.

Истоки проекта

Когда проект только начал своё существование, они…

…имели текстовый редактор Emacs с языком программирования Lisp для написания команд редактора, отладчик исходного кода, yacc-совместимый генератор синтаксических анализаторов и компоновщик.

Оригинальный текст (англ.)

had an Emacs text editor with Lisp for writing editor commands, a source level debugger, a yacc-compatible parser generator, and a linker

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

Манифест GNU

Манифест GNU (англ. The GNU Manifesto) был написан Ричардом Столлманом для того, чтобы получить поддержку и привлечь людей к участию в проекте. Программистам было предложено принять участие в каком-либо аспекте проекта — в том, что их интересовало. Люди могли бы пожертвовать средства, компьютерные компоненты, или даже своё собственное время, чтобы написать код и программы для этого проекта.

В Манифесте GNU Ричард Столлман рассказывает, почему он начал проект, и отвечает на возможные вопросы о проекте GNU, которые могут возникнуть у участников и сторонников проекта. Манифест начинается с объяснения, как и почему проект GNU будет доступен, вместе с ответами на возражения, которые могут возникнуть о возможных последствиях проекта GNU

[3].

GNU Hurd live CD приветствие

Интересные факты

  • В честь проекта GNU назван астероид — (9965) GNU.

См. также

Примечания

Ссылки

  • gnu.org (англ.) — официальный сайт проекта GNU


Проект GNU — это… Что такое Проект GNU?

Проект GNU (англ. The GNU Project) — проект по разработке свободного программного обеспечения (СПО), является результатом сотрудничества множества отдельных проектов. Проект был запущен известным программистом и сторонником СПО Ричардом Столлманом 27 сентября 1983 года в Массачусетском технологическом институте.[1] Изначальной целью проекта было «разработать достаточно свободного программного обеспечения <…> чтобы можно было обойтись без программного обеспечения, которое не является свободным

».[2] Чтобы этого достичь, проект в 1984 году приступил к разработке операционной системы GNU (GNU является рекурсивным акронимом, расшифровывающимся, как «GNU is Not Unix»). Эта цель была достигнута в 1992 году, когда последний пробел в ОС GNU — ядро системы — был заполнен сторонней разработкой, ядром Linux, которое было выпущено как свободное программное обеспечение в соответствии с лицензией GNU GPL v2.

Текущая работа проекта GNU включает в себя разработку программного обеспечения, повышение осведомлённости, проведение политических кампаний и раздачу новых материалов.

Истоки проекта

Когда проект только начал своё существование, они…

…имели текстовый редактор Emacs с языком программирования Lisp для написания команд редактора, отладчик исходного кода, yacc-совместимый генератор синтаксических анализаторов и компоновщик.

Оригинальный текст  (англ.)  

had an Emacs text editor with Lisp for writing editor commands, a source level debugger, a yacc-compatible parser generator, and a linker

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

Манифест GNU

Манифест GNU (англ. The GNU Manifesto) был написан Ричардом Столлманом для того, чтобы получить поддержку и привлечь людей к участию в проекте. Программистам было предложено принять участие в каком-либо аспекте проекта — в том, что их интересовало. Люди могли бы пожертвовать средства, компьютерные компоненты, или даже свое собственное время, чтобы написать код и программы для этого проекта.

В Манифесте GNU Ричард Столлман рассказывает, почему он начал проект, и отвечает на возможные вопросы о проекте GNU, которые могут возникнуть у участников и сторонников проекта. Манифест начинается с объяснения, как и почему проект GNU будет доступен, вместе с ответами на возражения, которые могут возникнуть о возможных последствиях проекта GNU.[3]

Интересные факты

  • В честь проекта GNU назван астероид — (9965) GNU.

См. также

Примечания

Ссылки

  • gnu.org — официальный сайт проекта GNU (англ.)

gnu Википедия

У этого термина существуют и другие значения, см. GNU (значения). Не следует путать с GNU GPL — лицензией, также созданной в рамках Проекта GNU, и используемой не только для ПО этого проекта.
GNU

Снимок рабочего стола операционной системы, основанной на GNU (показаны среда GNOME, редакторы GIMP и Emacs)
Разработчик Проект GNU
Семейство ОС UNIX-подобные
Исходный свободный
Первый выпуск 27 сентября 1983 года
Менеджеры пакетов GNU Guix
Поддерживаемые языки множество языков
Поддерживаемые платформы для специального ядра — только x86, остальные компоненты — по-разному
Тип ядра микроядро
Лицензия в основном GNU GPL
Состояние функционирует, но не завершена
Веб-сайт gnu.org
 Медиафайлы на Викискладе

GNU (/gnu/ (инф.), рекурсивный акроним от англ. GNU’s Not UNIX — «GNU — не Unix»[1]) — свободная[2]Unix-подобная операционная система, разрабатываемая Проектом GNU.[3]

Акроним GNU был выбран из-за того что GNU является Unix-подобной операционной системой, но отличается от Unix тем, что является свободным и не содержит его а.[1][4]

Содержание

  • 1 История
    • 1.1 GNU Hurd
  • 2 Интересные факты
  • 3 См. также
  • 4 Примечания
  • 5 Ссылки

История[ | ]

История операционной системы GNU, или что случилось с Hurd? / Хабр

Вниманию читателей предлагается перевод статьи «Whatever happened to the Hurd? — The story of the GNU OS», опубликованной в журнале Linux User & Developer в декабре прошлого года.

Работа над операционной системой GNU ведется без малого тридцать лет — с 1983 г. Впервые интерес к микроядру Mach, которое разрабатывалось в университете Карнеги-Меллон (CMU), в качестве ядра своей операционной системы Фонд свободного программного обеспечения (FSF) проявил еще в 1987 г., но его исходный код не распространялся под подходящей лицензией вплоть до 1991 г. К тому времени Линус Торвальдс уже занимался своим собственным проектом по разработке ядра для IBM-совместимых компьютеров на процессоре i386.

Если бы в свое время Linux не был написан и опубликован под GPLv2, если бы не вписался столь удачно в окружение уже существующих компонентов GNU и не захватил умы и сердца разработчиков по всей планете, — кто знает, быть может, вся «движуха» сосредоточилась бы вокруг Hurd, и мы бы сейчас жили в несколько ином мире. Но на судьбу Hurd повлияли не только стремительный рост популярности Linux или сделанная FSF ставка на микроядро Mach.

По своей сути, архитектура Hurd — это попытка воплотить в программном коде дух и перспективы движения за свободу программного обеспечения. Вот слова одного из сотрудников FSF тех времен: «Наверное, можно сказать, что когда мы проектировали Hurd, у нас дух захватывало от того, что происходило вокруг. Движение за свободу программного обеспечения всегда было (и есть) о том, чтобы пользователи перестали быть зависимы от прихотей производителей „софта“. Микроядерная архитектура Hurd, устройство и взаимодействие демонов, — если провести аналогию, — давала такую же свободу простым пользователям системы: вы больше не обязаны подчиняться системному администратору, его драконовским политикам и правилам. Каждый пользователь мог (безопасно для самой системы и других пользователей) запустить любой набор демонов, создавая нужное ему или ей рабочее окружение, ни о чем не спрашивая администратора системы.»

Просто большой чулан


Ричард Столлман заявил о намерении написать полноценную Unix-подобную операционную систему, названную им GNU (рекурсивная аббревиатура GNU’s Not Unix!), в сентябре 1983 г. За это время (до зарождения Hurd) были написаны компоненты системы и инструментарий, которые были необходимы для разработки ядра: редакторы и компиляторы, Bash, Make, Autoconf, Emacs, GCC, sed, gawk и др.

GNU окупала себя, продавая программные продукты. Когда началась работа над Hurd, FSF стала нанимать разработчиков. «Это было задолго до эры широкополосного интернета, и чаще всего люди работали на текстовых терминалах, через модем. Обычно мы делили один офис; если бы вы его увидели, то подумали, что он больше похож на большой чулан. В то время мы были гостями в MIT.»

Линус Торвальдс анонсировал свою «свободную операционную систему (просто хобби, ничего такого профессионального как GNU) для 386 (486) AT-клонов» в конференции comp.os.minix за несколько месяцев до начала работы над Hurd. Линус выбрал модель монолитного ядра, от которой воротили нос пуристы, но которая дала возможность быстро получить рабочее ядро.

Linux понравился хакерам, энтузиастам и ученым, многие из которых стали активно участвовать в разработке. Ядро привлекало их своей открытостью, свободной лицензией и тем, что его можно было запустить практически на любом имеющемся устройстве. Linux «поймал волну», сообщество разработчиков росло удивительно быстро. Работа над Hurd продолжалась, но далеко не с той же активностью. Людям было интереснее заниматься GNU/Linux, а не GNU Hurd.

Идеалистическая философия


С точки зрения пользователей, Hurd было еще расти и расти, а Linux, благодаря усилиям разработчиков, прочно занял свое место в качестве «сердца» операционной системы GNU. По началу Столлман относился к этому скептически. Ранние версии Linux работали только на IBM 386; по словам самого Столлмана, «мы слышали, что Linux практически не портируем (сейчас это не так, но тогда так говорили), и, кроме того, Linux по своей архитектуре похож на ядро Unix. Мы же пишем нечто значительно более мощное и продвинутое.»

Linux был тесно завязан на GCC и инструментарий GNU, все более развивался и «матерел», особенно с появлением дистрибутивов, и вскоре FSF стала рассматривать его в качестве приемлемой (пусть не самой оптимальной и временной) замены все еще несуществующего ядра операционной системы GNU. Столлман сразу внес ясность: «Не существует операционной системы, которая называется Linux. Операционная система Linux — это GNU. Linux это всего лишь программа: ядро. Ядро — это часть операционной системы, самая низкоуровневая программа, которая управляет другими программами, выделяя им процессорное время и другие ресурсы.»

Он настаивал, чтобы операционная система GNU с Linux в качестве ядра непременно называлась GNU/Linux, чтобы «люди понимали, что система существует благодаря идеалистической философии. Назовите ее Linux, и вы нарушите философию. Это очень серьезная проблема. Linux — это не система, а всего лишь ее часть… Именно благодаря той идеалистической позиции, на которой основывается проект GNU, у нас есть эта система.»

Работа над Hurd продолжалась, но вскоре стало очевидно, что FSF ступила на тернистый путь в своих поисках совершенства. Микроядро требовало решения ряда довольно непростых проблем, а многие из тех, кто мог бы за это взяться, были заняты в работе над Linux, которым уже можно было плодотворно пользоваться. Несмотря на известную критику, например со стороны Энди Таненбаума, выбор Линуса монолитной модели ядра позволил получить рабочую систему намного проще и быстрее.

Позже Столлман признал, что «несет всю ответственность за техническое решение разрабатывать ядро GNU на основе Mach, из-за чего так замедлилась разработка системы. Я полагал, что использование Mach позволит нам сэкономить время, но оказался неправ.» В последующие годы Hurd был портирован на различные микроядра, от L4 до Coyotos и Viengoos, но никогда не мог он похвастаться той поддержкой сообщества и теми ресурсами, которыми располагал (и располагает) Linux.

Принцип и обязательство


В конце девяностых в сообществе произошел раскол, обусловивший появление EGCS (произносится как eggs) — ответвления GCC, целью которого было отстраниться от руководства FSF разработкой, и Open Source Initiative (OSI) для продвижения менее радикальных и бескомпромиссных взглядов и идей открытого программного обеспечения.

«Главное, в чем они [OSI] стремились отличаться от FSF, это то, что они не осуждали закрытые программные продукты и не заявляли о себе как о движении за свободу, а развивали идеи о том, какие экономические преимущества может принести добровольная работа энтузиастов бесплатно, just for fun.» Но некоторые видели «ее основной целью — попытаться политически маргинализировать Столлмана; и попытке в чем-то небезуспешной.»

О выходе Hurd стали говорить в 1994 г., когда вроде бы удалось запустить Emacs; в качестве даты релиза указывался 2001 г., но этого так и не случилось. Когда в 2005 г. Hurd портировали на L4, Маркус Бринкман сказал, что «теперь мы можем с легкостью исследовать и развивать систему так, как мы захотим», но был вынужден признать, что «я могу собирать простые приложения, используя мой порт glibc, но большинство из них не запускаются, т.к. им требуются файловая система или, скажем, вызовы fork и exec, а у меня там пока только заглушки.»

В середине девяностых на сцене появляется Debian, который благодаря Debian Guidelines, написанных Брюсом Перенсом, становится носителем и выражением «общественного сознания» FOSS-движения, в то время как FSF во многом отстранилась от разработки GNU, сосредоточившись главным образом на политических проблемах движения.

С 1998 г. Debian GNU/Hurd — один из активных проектов Debian, выпускающий инсталляционный и live CD-диски, может рассматриваться как эталонная версия Hurd, однако до сих пор не имеет статуса официального релиза. Качество кода Hurd все еще не позволяет применять его для решения сколько-нибудь реальных задач, поддержка оборудования также весьма ограничена — но его можно полноценно запустить в виртуальной машине, попробуйте.

Когда-то FSF платила программистам за работу над проектами GNU, теперь же большинство из них — это волонтеры или сотрудники компаний, которые заинтересованы в проектах типа GCC и, соответственно, спонсирующие их. Hurd практически выпал из поля зрения, ведь есть Linux, который работает уже здесь и сейчас, так что особой нужды в еще одном ядре нет. Но принцип и обязательство никуда не делись, и, возможно, в будущем идеи GNU Hurd вновь окажутся востребованными.

Alix — истинное ядро GNU


Ричард рассказывает историю, что ядро GNU изначально не должно было называться Hurd.

«Сначала я назвал его Alix (Аликс), так звали мою девушку в то время. Она была системным администратором Unix и как-то обратила внимание на то, что ее имя схоже с названиями многих Unix-систем. Друзьям она в шутку сказала, что „кто-то должен назвать ядро в честь меня“. Я тогда промолчал, но решил, что сделаю ей сюрприз и назову ядро Alix.»

«Впрочем, название не прижилось. Майкл (теперь Томас) Бушнелл, главный разработчик ядра, предпочел имя Hurd, а имя Alix досталось одной из подсистем ядра — той, что перехватывала системные вызовы и обрабатывала их, обмениваясь сообщениями с серверами Hurd.»

«Какое-то время спустя Аликс и я расстались; она сменила имя. Вместе с тем (но независимо) в архитектуре Hurd произошли изменения, и библиотека C стала посылать сообщения серверам напрямую, что сделало компонент Alix ненужным, и он был удален.»

«Но прежде, чем все это произошло, кто-то из ее друзей наткнулся на ее имя в исходниках Hurd и сообщил ей об этом. Так что у нее была возможность найти ядро, названное в ее честь.»

Бушнелл выбрал имя Hurd отчасти из-за того, что получается похоже на «стадо антилоп», отчасти из-за того, что Hurd — это рекурсивная аббревиатура «Hird of Unix-Replacing Daemons», а в свою очередь Hird — это «Hurd of Interfaces Representing Depth». Он говорил, что «мы, насколько мне известно, первый программный продукт, название которого — это пара взаимно-рекурсивных аббревиатур.»

Томас Бушнелл в настоящее время — разработчик Debian и грегорианец.

На переднем крае


В отличие от Linux — монолитного ядра, Hurd использует микроядро, и почти вся функциональность вынесена из пространства ядра в пользовательское пространство. Микроядро — всего лишь прослойка между «железом» и всем остальным, чем обычно занимается монолитное ядро.

В 1996 г. Томас Бушнелл, один из основных архитекторов Hurd на раннем этапе, опубликовал свои идеи в статье «Towards a New Strategy of OS design».

«GNU Hurd, — пишет он, — спроектирован так, чтобы системный код был как можно более ограничен. Программы будут взаимодействовать только с несколькими подсистемами, все остальные части системы динамически заменяемы. Пользователи вольны задействовать их по своему усмотрению, смогут подключать новые компоненты для нужд других пользователей. Нет никакой необходимости в предварительном установлении доверия при взаимодействии между пользователями (т.е. сервисами друг-друга). Система не подвергается уязвимости, „доверяя“ сервисам произвольных пользователей.» На практике это означает, что пользователям не нужно обращаться к некоему супер-пользователю (root) и ждать, пока тот примонтирует файловую систему или загрузит нужный драйвер устройства (как это было в Linux до недавнего времени, пока там не стали появляться некоторые из полезных особенностей микроядер).

«Уже в то время было понятно, — вспоминает один из сотрудников GNU, — и это обсуждалось в академических кругах, что микроядерная архитектура будет иметь проблемы с производительностью (связанные, главным образом, с большим числом переключений контекста из-за необходимости обмена сообщениями между демонами, по сравнению с традиционной обработкой системных вызовов в монолитных ядрах). [Ричард] Рашид, исследователь из CMU, в своей работе предположил, что эта проблема не настолько серьезная. Тогда казалось, по крайней мере мне, что мы здесь в GNU, при скудном финансировании, умудряемся не только программировать и бороться за свободу, но и одними из первых воплощать в жизнь самые последние академические исследования computer science. Во всяком случае, задумка была такая, и мы очень гордились собой и вообще были рады быть в том месте и в то время.»

Hurd был замечательным приключением и экскурсом в самые выдающиеся достижения теории операционных систем своего времени. Целью GNU было стать одновременно Unix-подобной операционной системой и чем-то похожим на Лисп-машины, классические однопользовательские рабочие станции, появившиеся в AI Lab MIT, одном из главных очагов хакерской культуры, из которого вышел и Столлман. «Emacs (с его Lisp-расширениями) определил парадигму для проектирования интерактивных программ. Сначала даже предполагалось, что оконная система тоже будет основана на Lisp.»

«Одно из ранних изменений в концепции GNU произошло, когда стало ясно, что X11 работает довольно неплохо, не „загнется“ и будет свободной программой. Чисто практический вывод: надо брать и пользоваться.»

Что еще могло бы быть


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

Первым выбором Ричарда был TRIX, который разрабатывался в его родном MIT и упоминается в манифесте GNU. «У нас есть прототип ядра, но для полноценной эмуляции Unix еще многого не хватает, — писал он в 1984 г. — Когда мы закончим ядро и компилятор, мы сможем распространять систему GNU, под которую можно будет писать программы.» В декабре 1986 г. программисты GNU все еще продолжали «допиливать TRIX», а в следующем году Столлман стал интересоваться Mach.

Рассматривались и другие идеи, например, использование операционной системы Беркли Sprite и ядра BSD. «RMS был большим и последовательным приверженцем использования как можно большего количества готового кода (как я считаю, зря)», — вспоминал позднее Томас Бушнелл.

«Я бы сразу взял BSD 4.4-Lite и собрал ядро на ее основе. Я хорошо знал этот код, знал, что и как надо делать. Теперь мне очевидно, что у нас бы все замечательно получилось, и мир сегодня был бы совсем другим. RMS хотел сотрудничать с людьми из Беркли в этом направлении. Кто-то из них в самом деле был в этом заинтересован, но были и те, кто сознательно затягивал процесс. Сейчас мне кажется, что это было из-за их собственных планов по запуску BSDI, для которой основанная на BSD 4.4-Lite GNU система была бы совсем нежелательным конкурентом.»

По словам Бушнелла, в итоге Столлман решил, что «Mach — полностью рабочее ядро, 4.4-Lite же готово только частично. Мы выбираем Mach.»

Шифрование и дешифрование документов

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

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

Для шифрования документа опция —encrypt используется. У вас должны быть открытые ключи предполагаемых получателей. Программное обеспечение ожидает, что имя документа будет зашифровано на входе или, если опущено при стандартном вводе.Зашифрованный результат помещается на стандартный вывод или как указано с помощью опция —output. Документ сжат для дополнительной безопасности в дополнение к шифрование.

 alice%  gpg --output doc.gpg --encrypt --recipient [email protected] doc  
Параметр —recipient используется один раз для каждого получателя и принимает дополнительный аргумент, определяющий открытый ключ, которым должен быть зашифрован документ. Зашифрованный документ может быть расшифрован только кем-то с личным ключ, который дополняет один из открытых ключей получателя.В частности, вы не можете расшифровать зашифрованный вами документ, если вы включили свой открытый ключ в список получателей.

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

 blake%  gpg --output doc --decrypt doc.gpg 

Вам понадобится кодовая фраза, чтобы разблокировать секретный ключ для
пользователь: "Блейк (Палач)  "
1024-битный ключ ELG-E, ID 5C8CBD41, создан 1999-06-04 (ID основного ключа 9E98BC16)

Введите кодовую фразу: 

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

 alice%  gpg --output doc.gpg --symmetric doc 
Введите кодовую фразу: 
.

GPG-GNU Privacy Guard Tutorial (Шифрование и дешифрование командной строки)

Связь через Интернет всегда подвергается рискам безопасности того или иного рода. Любую передачу сообщения, осуществляемую через TCP или UDP, всегда можно перехватить с помощью простых инструментов захвата пакетов для чтения содержимого внутри.

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

  • Что делать, если компьютер получателя скомпрометирован и злоумышленник имеет доступ к данным.
  • Что делать, если вы по ошибке отправили сообщение кому-нибудь, кроме предполагаемого получателя.
  • Как вы проверите, что полученный ответ не изменился.
  • Что делать, если ISP, который встает между отправителем и получателем, скомпрометирован и злоумышленник может перехватить сообщения.

В этом руководстве мы обсудим GPG (GNU Privacy Guard), очень надежный метод, который можно использовать для шифрования, дешифрования, а также аутентификации данных и отправляемых и полученных сообщений.

GPG имеет открытый исходный код и находится под лицензией GPL (General Public License). Можно использовать два типа шифрования. Один из них — симметричное шифрование, а другой — асимметричное шифрование. При симметричном шифровании для шифрования и дешифрования используется один и тот же ключ, что означает, что и отправитель, и получатель должны иметь один и тот же ключ. Чтобы симметричное шифрование работало, симметричный ключ (который будет использоваться обеими сторонами и будет использоваться для шифрования и дешифрования) должен быть общим.

Это создает еще одну угрозу безопасности.Как вы поделитесь этим симметричным ключом, потому что, если злоумышленник получит этот ключ, шифрование будет бесполезным. Для решения этой проблемы было введено асимметричное шифрование (криптография с открытым ключом). В асимметричном шифровании У каждого пользователя есть два ключа. Один — это открытый ключ, а другой — закрытый.

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

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

Открытый ключ всегда строится по отношению к закрытому ключу. Посмотрим, как это работает в GPG.

Для работы с gpg в Linux необходим пакет gnupg . В большинстве дистрибутивов Linux он установлен по умолчанию.Я покажу этот пример учебника с gnupg в Red Hat Systems.

 [root @ myvm1 ~] # rpm -qa | grep gnupg
gnupg-1.4.5-14
[root @ myvm1 ~] #

 

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

Давайте создадим нашу пару ключей с помощью аргумента —gen-key в команде gpg.

 [root @ myvm1 ~] # gpg --gen-key
gpg (GnuPG) 1.4.5; Авторское право (C) 2006 Free Software Foundation, Inc.
Эта программа поставляется СОВЕРШЕННО БЕЗ ГАРАНТИЙ.
Это бесплатное программное обеспечение, и вы можете его распространять.
при определенных условиях.Подробности смотрите в файле КОПИРОВАНИЕ.

Пожалуйста, выберите, какой тип ключа вы хотите:
(1) DSA и Elgamal (по умолчанию)
(2) DSA (только подпись)
(5) RSA (только знак)
Ваш выбор?

 

Теперь давайте разберемся с каждой опцией вывода. Параметр —gen-key предоставляет вам три варианта выбора формы. У каждого из них есть свои отличия.

(1) DSA и Elgamal (по умолчанию)

Это первый вариант, который вы получаете при генерации пары ключей в gpg. И там показано, что будет выбран вариант по умолчанию.Это означает, что если вы просто нажмете клавишу ввода во время выбора, по умолчанию будет выбран первый вариант: DSA и Elgamal . Пара ключей по умолчанию зависит от версии gnupg, которую вы используете, поэтому она может отличаться от примера, показанного выше, если вы используете другую версию gnupg .

Этот первый вариант создаст две пары ключей. Одна пара ключей DSA и одна пара ключей Elgamal. Здесь нам нужно кое-что понять, прежде чем двигаться дальше. DSA используется только для цифровых подписей.

Цифровая подпись может использоваться для проверки двух вещей.

  • Для проверки отправителя
  • Для проверки сообщения и подтверждения того, что оно не было изменено / изменено.

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

Лучшей альтернативой подписи всего сообщения является подписание криптографического хэша сообщения / данных.

Примечание: Криптографическая хеш-функция используется для проверки целостности данных и проверки того, что данные не были изменены. Главный плюс использования криптографической хеш-функции заключается в том, что хэш всегда будет уникальным для определенных данных. Изменение любого символа в данных приведет к получению другого хеша.

Используется ряд алгоритмов хеширования. Среди них алгоритм подписи DSA использует SHA1 (а иногда и SHA2 из-за проблем безопасности, связанных с SHA1)

Главный плюс цифровой подписи, такой как DSA, заключается в том, что никто не может подделать подпись кого-либо, потому что для этого требуется закрытый ключ.Но да, любой, у кого есть открытый ключ, может проверить подписанные данные.

Следовательно, выбор этого первого варианта DSA и Elgamal сгенерирует два кольца ключей. Один для шифрования (Elgamal), а другой для цифровой подписи (DSA).

(2) DSA (только подпись)

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

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

 Обратите внимание, что этот ключ нельзя использовать для шифрования. Вы можете использовать
команда "--edit-key" для создания подключей для этой цели.

 

(3) RSA (только подпись)

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

Эта опция создаст только одну пару ключей, аналогичную опции DSA (только подпись) . Следовательно, вы получите точно такое же сообщение после создания ключей для подписи с этой опцией.

 Обратите внимание, что этот ключ нельзя использовать для шифрования. Вы можете использовать
команда "--edit-key" для создания подключей для этой цели.

Некоторые факты о RSA, DSA и Elgamal в GNUPG

  • DSA означает алгоритм цифровой подписи и используется только для подписи документов, а не для их шифрования.
  • DSA основан на математической задаче, называемой дискретной логарифмической задачей (решение которой сложно и требует много времени даже для мощных компьютеров)
  • Алгоритм RSA также может использоваться для шифрования, а также для цифровой подписи.
  • Размер подписи DSA равен маленький по сравнению с большими сигнатурами, генерируемыми алгоритмом RSA.
  • RSA работает над математической задачей, называемой проблемой целочисленной факторизации (которую также сложно решить для компьютера).
  • DSA по умолчанию имеет размер ключа 1024 в GPG
  • У вас есть выбор, чтобы выбрать размер ключа для шифрования с использованием алгоритма Elgamal в диапазоне от 1024 до 4096 бит
  • Закрытый ключ является основным компонентом для расшифровки и подписи сообщений, что означает, что вы Вам необходимо защитить ваш закрытый ключ с помощью шифрования и защиты паролем, что по умолчанию выполняется GPG
  • . Рекомендуется установить дату истечения срока действия вашего закрытого ключа, поскольку это добавляет немного большей безопасности.

Давайте теперь сгенерируем нашу пару ключей, выбрав первый вариант, чтобы понять шаги. Здесь мы выберем первый вариант, потому что нам нужно как зашифровать, так и подписать наши данные / сообщение с помощью алгоритмов DSA.

 [root @ myvm1 ~] # gpg --gen-key
gpg (GnuPG) 1.4.5; Авторское право (C) 2006 Free Software Foundation, Inc.
Эта программа поставляется СОВЕРШЕННО БЕЗ ГАРАНТИЙ.
Это бесплатное программное обеспечение, и вы можете его распространять.
при определенных условиях.Подробности смотрите в файле КОПИРОВАНИЕ.

Пожалуйста, выберите, какой тип ключа вы хотите:
(1) DSA и Elgamal (по умолчанию)
(2) DSA (только подпись)
(5) RSA (только знак)
Ваш выбор? 1
Пара ключей DSA будет иметь 1024 бита.
Ключи ELG-E могут иметь длину от 1024 до 4096 бит.
Какой размер ключа вам нужен? (2048)
Запрошенный размер ключа составляет 2048 бит
Укажите срок действия ключа.
0 = срок действия ключа не истекает
 = срок действия ключа истекает через n дней
 w = срок действия ключа истекает через n недель
 m = срок действия ключа истекает через n месяцев
 y = срок действия ключа истекает через n лет
Ключ действителен для? (0)
Срок действия ключа не истекает
Это правильно? (г / н) г

Вам понадобится идентификатор пользователя для идентификации вашего ключа; программное обеспечение создает идентификатор пользователя
из настоящего имени, комментария и адреса электронной почты в этой форме:
"Генрих Гейне (Der Dichter)  "

Настоящее имя:
Имя должно содержать не менее 5 символов.
Настоящее имя: Slashroot
Электронный адрес: [email protected]
Комментарий: Ключ Slashroot
Вы выбрали этот USER-ID:
"Slashroot (ключ Slashroot) "

Изменить (N) сообщение, (C) сообщение, (E) почту или (O) kay / (Q) uit? о
Для защиты секретного ключа вам понадобится кодовая фраза.

Нам нужно сгенерировать много случайных байтов. Это хорошая идея выполнить
какое-то другое действие (введите на клавиатуре, переместите мышь, используйте
диски) во время основного поколения; это дает случайное число
Генератор больше шансов получить достаточно энтропии.. ++++++++++ .. +++++. +++++. +++++. +++++++++++++++++++ ++++++. +++++++++++++++++++++++++++++++++++++++++++ +++++++++++++++++++++++++++++++++++++++++.> +++++. ........................................>. +++++ ... ..... <. +++++ .................... +++++
Нам нужно сгенерировать много случайных байтов. Это хорошая идея выполнить
какое-то другое действие (введите на клавиатуре, переместите мышь, используйте
диски) во время основного поколения; это дает случайное число
Генератор больше шансов получить достаточно энтропии.gpg: ключ 195C8BDB помечен как полностью доверенный
открытый и секретный ключи созданы и подписаны.

gpg: проверка trustdb
gpg: необходимо 3 маргинала, необходимо 1 завершение, модель доверия PGP
gpg: глубина: 0 действительный: 1 подписанный: 0 доверие: 0-, 0q, 0n, 0m, 0f, 1u
pub 1024D / 195C8BDB 26 апреля 2013 г.
Отпечаток ключа = 5C77 CEE6 10B9 5E1C 1B0D B2E1 BB1D E5D8 195C 8BDB
uid Slashroot (ключ Slashroot) 
суб 2048g / 8BCCF604 2013-04-26

 

В показанном выше примере команды gpg —gen-key мы уже обсуждали первый вариант выбора для DSA и Elgamal, DSA, RSA.

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

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

Чтобы понять, насколько важен размер ключа, нам нужно подумать о комбинациях и количестве попыток, которые злоумышленник должен предпринять, чтобы успешно взломать. 128-битный ключ означает, что злоумышленник должен попробовать 2 128 комбинаций. А размер ключа 1024 означает, что злоумышленник должен пройти 2 1024 комбинаций, чтобы найти правильное совпадение.

Здесь подойдет выбор 1024 по умолчанию.

Следующая опция — указать количество дней, по истечении которых закрытый ключ истечет.Большинство людей игнорируют это и нажимают Enter, чтобы выбрать опцию «0» по умолчанию, которая не приведет к истечению срока действия ключа.

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

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

Шифрование, импорт и экспорт ключей, подпись и проверка примеров в gnupg

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

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

Цифровая подпись создается с помощью закрытого ключа и может быть проверена с помощью соответствующего открытого ключа. Это возможно, потому что открытый ключ будет распространен среди всех ваших получателей по электронной почте или через веб-сайт. Цифровая подпись не зашифрует данные, но добавит подпись с хеш-значением данных, которые вы хотите подписать. Затем получатель может проверить подпись с помощью GPG или любого другого подобного программного обеспечения.

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

 [root @ myvm1 ~] # пример сообщения кота
привет, это тестовое сообщение для проверки подписи gpg. Это сообщение от команды slashroot.in, поэтому оно подписано нашим закрытым ключом, который вы можете проверить с помощью нашего открытого ключа.
[root @ myvm1 ~] #

 

Теперь давайте подпишем это сообщение с помощью gpg.

 [root @ myvm1 ~] # gpg --local-user "Slashroot" --clearsign "example-message"

Вам понадобится кодовая фраза, чтобы разблокировать секретный ключ для
пользователь: "Slashroot (ключ Slashroot)  "
1024-битный ключ DSA, ID 195C8BDB, создан 26 апреля 2013 г.

 

В показанном выше примере метода мы использовали аргумент «Realname», который мы отправили при генерации нашей пары ключей (в нашем случае это был «Slashroot»). Если вы посмотрите справочные страницы для gpg, вы узнаете, что аргумент —clearsign , используется для создания подписи в текстовом формате, который можно просмотреть с помощью любого текстового редактора.

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

Теперь, когда мы подписали наше сообщение, посмотрим, как выглядит наша подпись. После подписания текстового сообщения вы получите файл с расширением .asc, который будет содержать как сообщение, так и подпись. Давайте посмотрим на наш файл example-message.asc, содержащий цифровую подпись.

 [root @ myvm1 ~] # cat example-message.asc
----- НАЧАТЬ ПОДПИСАННОЕ СООБЩЕНИЕ PGP -----
Хеш: SHA1

привет, это тестовое сообщение для проверки подписи gpg.Это сообщение от команды slashroot.in, поэтому оно подписано нашим закрытым ключом, который вы можете проверить с помощью нашего открытого ключа.
----- НАЧАТЬ ПОДПИСЬ PGP -----
Версия: GnuPG v1.4.5 (GNU / Linux)

iD8DBQFRe2R1ux3l2Blci9sRAtd8AKCM6sN4Xg3aWLyOAiUza5HurxUU8gCfVlbw
wxI9ZZ2VnCY88SBR / e / xkfo =
= vBz9
----- КОНЕЦ ПОДПИСЬ PGP -----
[root @ myvm1 ~] #

 

В выходных данных четко упоминается, что хэш сообщения, которое мы подписали, использует SHA1.

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

 [root @ myvm1 ~] # gpg --armor --output "slashroot-public-key" --export "Slashroot"
 

В показанном выше примере мы экспортировали наш открытый ключ в файл с именем «slashroot-public-key», который теперь можно сделать доступным для получателей.В показанных выше командах мы использовали опцию —armor с командой gpg, чтобы указать, что вывод должен быть в текстовом формате. А аргумент —export требует идентификатора ключа, которым снова является Realname , которое мы использовали при создании пары ключей (вы также можете использовать адрес электронной почты, указанный при создании связки ключей). Давайте теперь посмотрим на содержимое нашего открытого ключа.

 [root @ myvm1 ~] # cat slashroot-открытый-ключ
----- НАЧАТЬ БЛОК ПУБЛИЧНЫХ КЛЮЧЕЙ PGP -----
Версия: GnuPG v1.4.5 (GNU / Linux)

mQGiBFF6nikRBACEHpnImkcocXCigGgG9CqJYJTXT + X / 3Ky1nLgXmhJf1O / Lk7pA
mfO0TdPC4A / RkKZf0jHm1kkIl4EE02t4c + / qts1z1LOxDoHTDjx + xpfRpC2ekKq5
2 + LtSXaFRlbTPVsi4cSEBDOGUpyAFOYAjtKI1c + q90Ru1g7ViXduXtbVfwCgpFxV
ZbFAmTpK47xKcqnpwwWv9ysD / j3w34vS7sywgAuflVecYeYa1xGM1XLPfZDMJKJO
AxwuJBrsx6GX3jKh6ah2MlnbxB1 + rqzWqKa + qeVHGTegQV89GcC1ut06EcJamd4l
k2LG2MdkvKVoQBGQIj + VglP24Q9KfhhBd7mheqzLsQh3i5YtW6TTszvG / i283V6R
lSAMA / 4r9lpwTL1Fgsgb8794PkaxKL6JwRgRWoIwCikRKB9W2Ot + / nK0y2nfZcpX
5jzw0R40jE + AMItL25ulRPpqHVD9CHxBPgOH0lwTg3Tk5KcFsgn1pxch + 3K / TuDM
OXJN64V35AIEayUHNIT + 42Hym1xalX1vGZMO + x7F5 / wrUyNGIrQuU2xhc2hyb290
IChTbGFzaHJvb3QgS2V5KSA8YWRtaW5Ac2xhc2hyb290LmluPohgBBMRAgAgBQJR
ep4pAhsDBgsJCAcDAgQVAggDBBYCAwECHgECF4AACgkQux3l2Blci9s6fACfVsbb
J8xNQ8DMB3eJl1QVFypTaGgAmgNA / Gnh0UwR83GVezWkBGmqmI6BuQINBFF6njUQ
CAChBVGhNI5lKcQ0le94ABom5RTu2bCPnE0E5jijauANBGqvocae93yTUAu98Mdy
r3587m8Zpx1Pv2FH / PSGs3cHWcugCJcH9yfxiXRy9rCvQu8NYFdwVFrInNpgt4nT
7JPUDYEqpvYLBfjxpbPCrbcUGr9ZwFm2sNjIiZBhWzm9bzcEIp9JxwxWoHSXc0rD
AxZMfdUY1OvGNjfpbIewNm2QhJ0CwvSX4j0FoSpkbx0Axnmuf / W + CXgI3VJir9hd
RRgGpligi11xQsOhWtBSesLDP7ooecsIRPr6cTlQz73FErY5u + P6xmyxfuKT4Hfx
xFFoP9DGNpoJFhbOkJCvhxpjAAMFCACWLKq + O2PnXY29jS8gf3LhLD62agSKuw3f
GxhRx3M1ZWcwsG05IrXaS1YUZ1JlFmxgF3nSzZc11mbZHxJB + 2IDje93MlwT9Kw5
7h8f2khGAXg1qg43Amel11WdfptWd + ULBxM4iPTC1xub4PAP / iUF2L / c7vFlvCIZ
gAkgY8dXC + ElNKV56vKCLl3 + 5REvjK6NI38wC104ONdPTemyPK + wRNBrTSNS6 + ao
BOrKoNGEveeU0sDo1H59hp3k5m + JvNdW1IMfj2VVxzaNGmm + BbdbUUShEZDlkbTo
bNuKEUfGTmuepJFwWzxrEeBkrxlhFnyJTF2vw0F1oEZgmHnOmDq1iEkEGBECAAkF
AlF6njUCGwwACgkQux3l2Blci9vMSACfWDx1EshJtDLh4zD3IaZ + xEyGAfwAnjD9
sS7kecpFm5niggNSyjzD2 + KK
= fc8Y
----- КОНЕЦ БЛОКА ПУБЛИЧНЫХ КЛЮЧЕЙ PGP -----
[root @ myvm1 ~] #

 

Любой получатель, у которого есть этот открытый ключ, может импортировать его в свой список открытых ключей для проверки наших подписанных сообщений в будущем.Давайте посмотрим, как импортировать этот открытый ключ.

 [sarath @ myvm1 ~] $ gpg --import slashroot-public-key
gpg: создана связка ключей `/home/sarath/.gnupg/secring.gpg '
gpg: key 195C8BDB: открытый ключ «Slashroot (Slashroot Key) » импортирован
gpg: Общее количество обработанных: 1
gpg: импортировано: 1
[sarath @ myvm1 ~] $

 


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

Давайте посмотрим, как проверить сообщение с помощью только что импортированного открытого ключа. Здесь, чтобы показать этот пример, мы будем проверять наше ранее подписанное сообщение example-message.asc .

Но прежде чем мы проверим какое-либо сообщение с новым импортированным ключом, нам нужно установить уровень доверия для этого ключа. В противном случае gpg покажет вам предупреждающие сообщения, подобные приведенному ниже.

 gpg: ВНИМАНИЕ! Этот ключ не сертифицирован доверенной подписью!
gpg: нет никаких указаний на то, что подпись принадлежит владельцу.

Чтобы установить уровень доверия для открытого ключа, нам нужно использовать аргумент —edit-key.

 [sarath @ myvm1 ~] $ gpg --edit-key "Slashroot"
gpg (GnuPG) 1.4.5; Авторское право (C) 2006 Free Software Foundation, Inc.
Эта программа поставляется СОВЕРШЕННО БЕЗ ГАРАНТИЙ.
Это бесплатное программное обеспечение, и вы можете его распространять.
при определенных условиях. Подробности смотрите в файле КОПИРОВАНИЕ.


pub 1024D / 195C8BDB создан: 2013-04-26 истекает: никогда не используется: SC
доверие: неизвестно срок действия: неизвестно
sub 2048g / 8BCCF604 создан: 2013-04-26 истекает: никогда не используется: E
[неизвестно] (1).Slashroot (ключ Slashroot) 

Команда> доверие

 

—edit-key аргумент с командой gpg дает вам приглашение, в котором вы можете назначить уровень доверия для этого открытого ключа. В приглашении редактирования gpg вам необходимо ввести команду trust , чтобы назначить уровень доверия этому открытому ключу. Вам будет предложено 5 различных уровней доверия, из которых мы выберем уровень 5, чтобы полностью доверять ключу.

 1 = Я не знаю или не скажу
2 = Я НЕ доверяю
3 = Я мало верю
4 = Я полностью доверяю
5 = Я полностью доверяю
m = вернуться в главное меню

 

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

 [sarath @ myvm1 ~] $ gpg --verify example-message.asc
gpg: Подпись сделана 26 апреля 2013 г., 22:39:01 PDT с использованием идентификатора ключа DSA 195C8BDB
gpg: Хорошая подпись от "Slashroot (Slashroot Key) "
[sarath @ myvm1 ~] $

 

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

Для шифрования сообщения с помощью gpg вам нужно указать два аргумента командной строки. Один аргумент будет указывать открытый ключ для использования (это делается с аргументом —recipient , потому что данные будут зашифрованы открытым ключом получателя.), А другой аргумент будет принимать файл, который будет зашифрован с использованием этого открытого ключа. ключ.

Для шифрования сообщений в Slashroot мы будем использовать открытый ключ Slashroot, который мы уже импортировали.

 [sarath @ myvm1 ~] $ gpg --recipient "Slashroot" --output "пример сообщения.gpg "--encrypt" образец сообщения "

 

Теперь отправьте этот выходной файл получателю любым способом. Получив сообщение (sample-message.gpg), получатель может легко его расшифровать, используя свой закрытый ключ для просмотра содержимого внутри.

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

 [root @ myvm1 ~] # gpg --decrypt "sample-message.gpg"

Вам понадобится кодовая фраза, чтобы разблокировать секретный ключ для
пользователь: "Slashroot (ключ Slashroot)  "
2048-битный ключ ELG-E, ID 8BCCF604, создан 2013-04-26 (ID основного ключа 195C8BDB)

gpg: зашифрован 2048-битным ключом ELG-E, ID 8BCCF604, создан 2013-04-26
"Slashroot (ключ Slashroot) "
привет, это образец сообщения для проверки шифрования gpg.

 

Как отправить зашифрованное сообщение электронной почты с помощью gpg, используя простой текст?

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

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

Итак, первый шаг — набрать все сообщение электронной почты в текстовом редакторе. Давайте рассмотрим этот пример сообщения электронной почты.

 [sarath @ myvm1 ~] $ cat образец электронной почты
Здравствуй,

Это тестовое сообщение электронной почты для проверки шифрования ..

С уважением

[sarath @ myvm1 ~] $

 

Теперь зашифруйте все это сообщение электронной почты с помощью открытого ключа получателя, которым в нашем случае является «Slashroot».

 [sarath @ myvm1 ~] $ gpg --armor --recipient "Slashroot" --output "sample-email.asc" --encrypt "sample-email"
[sarath @ myvm1 ~] $

 

Следующий шаг — просто скопировать и вставить содержимое « sample-email.asc » в тело сообщения электронной почты (из любого из ваших почтовых клиентов, таких как thunderbird, outlook или даже gmail и т. Д.)

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

 [root @ myvm1 ~] # gpg --decrypt "sample-email.asc"

Вам понадобится кодовая фраза, чтобы разблокировать секретный ключ для
пользователь: "Slashroot (Slashroot Key) "
2048-битный ключ ELG-E, ID 8BCCF604, создан 2013-04-26 (ID основного ключа 195C8BDB)

gpg: зашифрован 2048-битным ключом ELG-E, ID 8BCCF604, создан 2013-04-26
"Slashroot (ключ Slashroot) "
Здравствуй,

Это тестовое сообщение электронной почты для проверки шифрования ..

С уважением

[root @ myvm1 ~] #

 

Снова у получателя будет запрошен пароль для его закрытого ключа.В показанном выше примере мы предположили, что получатель сохранил содержимое электронной почты в файл с именем «sample-email.asc». Имя файла, под которым ресивер сохраняет контент, не имеет значения. Но да, весь контент без ошибок должен быть доступен.

.

Защита конфиденциальности GNU

GnuPG — это полная и бесплатная реализация стандарта OpenPGP как определен RFC4880 (также известный как PGP ). GnuPG позволяет шифровать и подписывать свои данные и сообщения; имеет универсальное управление ключами система вместе с модулями доступа для всех видов открытых ключей каталоги. GnuPG, также известный как GPG , представляет собой инструмент командной строки с функции для легкой интеграции с другими приложениями. Богатство доступны внешние приложения и библиотеки.GnuPG также обеспечивает поддержку S / MIME и Secure Shell (ssh).

С момента своего появления в 1997 году GnuPG является бесплатным программным обеспечением (что означает уважает вашу свободу). Его можно свободно использовать, изменять и распространяется на условиях Стандартной общественной лицензии GNU.

Текущая версия GnuPG — 2.2.23. Посмотреть загрузку страница для других поддерживаемых версий.

Gpg4win — это версия GnuPG для Windows с инструментом контекстного меню, крипто-менеджер и плагин Outlook для отправки и получения стандартных Письма PGP / MIME.Текущая версия Gpg4win — 3.1.13.

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

Использование шифрования помогает защитить вашу конфиденциальность и конфиденциальность люди, с которыми вы общаетесь. Шифрование усложняет жизнь массовым системы наблюдения. GnuPG — один из инструментов, которые Сноуден использовал для раскрыть секреты АНБ.

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

Последние записи в блоге:

Последние новости релиза:
(все новости)

Сегодня был выпущен GnuPG версии 2.2.23. В этой версии исправлена критическая ошибка безопасности в 2.2.21 и 2.2.22 (CVE-2020-25125).

Следуйте инструкциям в письме с объявлением и обновите затронутые установки.См. Также нашу запись об ошибке № 5050.

[Примечание: не используйте эту версию — используйте 2.2.23.]

Сегодня был выпущен GnuPG версии 2.2.22. Это обслуживание выпуск с небольшими изменениями. {Больше}

[Примечание: не используйте эту версию — используйте 2.2.23.]

После выпуска GnuPG 2.2.20 в марте пришло время получить исправления за последние месяцы: GnuPG версии 2.2.21 имеет был выпущен сегодня. Это отладочный выпуск с незначительным изменения.{Больше}

С момента последнего релиза прошел почти год, так что время пришло. для новой версии обслуживания: Libgcrypt версии 1.8.6 сейчас доступный. {Больше}

Примерно через год корректировки деталей утверждения Gpg4win и GnuPG теперь одобрен для связи с ограничениями ЕС (VS-NfD). Эта утверждения охватывают протоколы S / MIME и OpenPGP (открытый ключ и только симметричный) с жесткими и мягкими токенами. Наш коммерческий филиал GnuPG.com опубликовал сегодня сообщение для прессы (на немецком языке).

Мы рады сообщить о выпуске GnuPG версии 2.2.19. В этой версии исправлена ​​регрессия, появившаяся в последней версии. {Больше}

Мы рады сообщить о выпуске GnuPG версии 2.2.18. Это служебный выпуск, исправляющий несколько мелких ошибок и предоставляющий несколько обновлений функций. В этом выпуске также отменяется использование ключа SHA-1. подписи созданы с этого года. {подробнее} (см. также)

Если вас интересуют атаки локального канала сайта на ECDSA, вы можете обновление до версии Libgcrypt 1.8.5. CVE-CVE-2019-13627 {подробнее}

.

GNU Crypto — Проект GNU

GNU Crypto — Проект GNU — Фонд свободного программного обеспечения (FSF)

Введение | Загрузки | Требуется помощь | Статус проекта | Формат файла GNU Keyring | Документация | Замечание о проверке простоты | Параметры конфигурации | Создание криптографии GNU | Инструменты | Списки рассылки | Сообщить об ошибке | Стили кодирования | Логотипы

Новостей: GNU Crypto был объединен в GNU Classpath, и мы будем поддерживать код там.Мы поощряем вы вносите свой вклад в Classpath вместо GNU Crypto, но если есть то, над чем вы хотели бы работать в GNU Crypto, что не подходит Classpath, не стесняйтесь задавать вопрос в списке рассылки.


Введение

GNU Crypto, часть проекта GNU, выпущенная под эгидой GNU, направлена ​​на при предоставлении бесплатных, универсальных, качественные и доказуемо правильные реализации криптографических примитивов и инструменты на языке программирования Java для использования программистами и конечными пользователями.

GNU Crypto лицензируется в соответствии с условиями Стандартная общественная лицензия GNU с «исключением для библиотеки», разрешающим ее использование. как библиотека вместе с несвободным программным обеспечением:

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

Действие этой лицензии аналогично использованию LGPL, за исключением статического ссылка разрешена. GPL за этим исключением иногда называют Guile Лицензия , потому что Коварство реализация Scheme (для встраивания) использует эту лицензию.

Загрузки

Вы можете загрузить последнюю версию программного обеспечения с ftp.gnupg.org/gcrypt/gnu-crypto. Вы, вероятно, захотите использовать один из FTP зеркала сайтов, хотя зеркала могут быть устаревшими (большинство из них синхронизируются ежедневно).

Текущее распределение доступно как:

Бинарные пакеты, содержащие gnu-crypto.jar , javax-crypto.jar и javax-security.jar :

Также доступна «версия для разработки», в которой много функциональности поверх 2.0, но сохраняет большую часть настоящего интерфейс:

Тестовые векторы, совместимые с NIST и NESSIE, сгенерированные алгоритмами реализованные в этой библиотеке, доступны как:

Все релизы подписаны этим ключом, ID 0446B16B

Актуальный исходный код этого проекта доступен в gnu-crypto модуль через CVS.

Требуется помощь!

Разработка GNU Crypto — это работа добровольцев, и вы также можете делать вклад! Нам нужна большая помощь, чтобы доработать и улучшить текущие API и отслеживать будущие дополнения и улучшения.Это также возможности для тестировщиков, веб-авторов и документалистов. Пожалуйста, разместите в список рассылки для общего обсуждения, если вы заинтересованы в помощи.

Вот список областей, в которых вы можете помочь:

  1. Алгоритмы:
    • Алгоритмы NESSIE (фаза-2),
    • IEEE P1363 алгоритмы.
    • Алгоритмы открытого ключа эллиптической кривой.
    • Kerberos, GSS-API и Java Служба аутентификации и авторизации.

  2. Инструменты:
    • Инструмент для количественной оценки случайности (лучше, чем ЛОР).
    • Инструмент
    • для создания шифровальных машин (d & d ciphers, padding, mode).
    • инструмент для сравнения двух наборов тестовых векторов, не обязательно сгенерированных та же библиотека.
    • Замена для keytool .
    • Удлиненная банка реализация, которая может шифровать записи.

  3. Тестирование:
    • еще тестовые примеры Mauve.
    • Тщательный аудит исходного кода.

  4. Производительность:
    • Оцените производительность алгоритмов на разных платформах / средах.
    • Более оптимизированные версии алгоритмов.

  5. Документация:
    • Тщательное изучение документации программиста.
    • Более подробный текст документации для программистов.
    • Руководство (-а) программиста по использованию библиотеки.
    • Учебное пособие для программиста.

Статус API для чистых помещений

В дополнение к GNU Crypto API мы также включаем чистую комнату реализация Java Cryptography Extension (JCE), которая включает пакет javax.crypto и его подпакеты. Текущая версия является производной от реализации написано Легионом Bouncy Castle, но мы работаем над собственной реализацией.

Благодаря japitools (Стюарт Баллард) и Тому Троми из проекта GCJ на этой странице показаны текущие статус совместных усилий GCJ и GNU Crypto в отношении Совместимость Java API с JDK 1.4. Он обновляется каждую ночь и является запустить против ствола CVS. Это самый последний анализ Различия в API.

Формат файла брелка GNU

В настоящее время предлагается использовать новый формат связки ключей. различными проектами GNU Java; например Путь к классам GNU, GCJ, GNU Crypto, as официальный формат «хранилища ключей» для этих платформ. Один из цели такого формата — предоставить бесплатные Java-проекты с аналогичные функции, предлагаемые Java Keystore (JKS) формат.

Текущий черновик доступен здесь.

Документация

информационных страниц GNU (в HTML) доступны для просмотра в режиме онлайн. Вот.

JavaDoc HTML-страницы для пакетов GNU Crypto доступны для он-лайн просмотр, с рамками и без.

Также доступна последняя версия Руководства программиста (в формате PDF). Вот.

Диаграммы UML, используемые в документации, отредактированные с помощью файлов диаграмм Dia. включен в архив с исходным кодом.Так было сделано из-за отсутствие бесплатного и работающего инструмента построения диаграмм UML, способного двусторонний инженерный код Java. Единственный такой инструмент, который надеюсь предоставить эту возможность кажется Umbrello. PNG изображения затем были сгенерированы из файлов DIA, а затем преобразованы в EPS и PDF с использованием ImageMagick.

Справочные документы, подробно описывающие реализованные криптографические алгоритмы в этой библиотеке доступны для просмотра / скачивания. Вот список:

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

Параметры конфигурации

Есть три параметра, которые могут повлиять на поведение двоичных файлов, все определены и доступны из класса gnu.crypto.Properties :

Ключ Тип Описание
гн.crypto.with.reproducible.prng логический

Для удобства все вызовы в этой библиотеке для генерации криптографически стойкие псевдослучайные данные (байты) выполняются через загрузчик классов Синглтон, внутри класса gnu.crypto.util.PRNG . Этот синглтон генератор — это экземпляр генератора псевдослучайных чисел, основанный на общем хэш-функция — класс gnu.crypto.prng.MDGenerator — с использованием, в в данном случае стандарт безопасного хеширования (SHS, также известный как алгоритм безопасного хеширования) SHA с размером выходного блока 160 бит).Это уместно по двум причинам:

  1. этот метод генерации случайных данных — тот, который прописан в Стандарт цифровой подписи (DSS),

  2. других схем цифровой подписи, реализованных на данный момент в этой библиотеке, не предписывают какой-либо предписанный способ генерации случайных данных.

Однако этот тип генератора работает путем хеширования выходных данных предыдущего операция дайджеста; я.е. вход в хеш-функцию в момент времени N это его выход в момент времени N-1 , с начальным входом длиной 0 октетная строка. Последовательность сгенерированных байтов от такого генератора тогда воспроизводимый . Это полезно только для целей тестирования и отладки и очевидно, не должно быть так в любом приложении, заботящемся о безопасности.

Значение по умолчанию: false

true : указывает, что используется ГПСЧ по умолчанию, если он необходимо, но не указано, будет генерировать тот же битовый поток с каждый экземпляр ВМ.

false : Указывает, что будет использоваться ГПСЧ по умолчанию. инициализированы (засеяны) текущим временем дня, что дает другое вывод битового потока с каждым экземпляром виртуальной машины.

gnu.crypto.with.check.for.weak.keys логический

Некоторые блочные шифры с симметричным ключом обнаруживают определенные уязвимости, используются ключевые значения. Например, DES имеет 64 начальных значения ключа, которые классифицируются на: слабые, полуслабые и, возможно, слабые ключи.

Значение по умолчанию: true

true : указывает, что дополнительная проверка на так называемые слабые ключи будет выполняться при генерации подключах шифра из заданных пользователем начальных ключевой материал. Такие проверки могут вызвать gnu.crypto.cipher.WeakKeyException (подкласс java.security.InvalidKeyException ) для создания.

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

gnu.crypto.with.rsa.blinding логический

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

Значение по умолчанию: true

true : указывает, что операция ослепления RSA будет выполняться во время Расшифровка RSA. Нет никаких практических причин для отключения ослепления RSA.

false : указывает, что ослепление RSA не будет использоваться.

Сборка GNU Crypto

GNU Crypto может быть построен тремя различными способами, что дает два разных типа двоичные файлы:

  1. GCJ-friendly build

    Это полностью GNU процесс, который приводит к динамическим разделяемым библиотекам. (javax-crypto.so, javax-security.so, gnu-crypto.так). Создание библиотеки этот способ является лучшим (а в некоторых случаях и единственным) способом при компиляции и связывание собственных приложений. Особенно оптимизированные реализации некоторых алгоритмы автоматически включаются в эту сборку.

    Этот метод основан на инструментальной цепочке GNU и на GCJ (компилятор GNU для Java), часть GCC (Коллекция компиляторов GNU). Однако обратите внимание, что вам потребуется GCJ версии 3.1 или более поздней.

  2. Сборка, не поддерживающая GCJ

    В этих сборках не создаются разделяемые библиотеки; только .файлы классов в Jars генерируются. Это достигается либо

    • с помощью инструмента Apache ANT или

    • С помощью набора инструментов GNU (настройка, создание и т. Д.)

      Единственное требование для построения библиотеки таким образом — определить какой компилятор байт-кода Java, а также интерпретатор байт-кода Java использовать. Это делается путем установки переменных окружения JAVA , JAVAC и CLASSPATH соответственно во время настроить фазу .Необязательно переменная среды JAVAFLAGS Возможно, потребуется установить .

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

      • Sun JDK 1.4.2_01:
        ./configure JAVAC = javac JAVA = java JAVAFLAGS = "- Xbootclasspath / p: ../ jce / javax-crypto.jar"
        сделать
        сделать чек
               
      • Компилятор
      • Jikes и Jikes RVM:
        ./ configure JAVAC = jikes JAVA = rvm CLASSPATH = $ JAVA_HOME / jre / lib / rt.jar
        сделать
        сделать чек
               
      • Компилятор
      • Jikes и виртуальная машина kissme:
        ./configure JAVAC = jikes JAVA = kissme CLASSPATH =.: $ JAVA_HOME / jre / lib / rt.jar
        сделать
        сделать чек
               

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

Документ INSTALL в дистрибутиве содержит пошаговое описание каждого из вышеуказанных процессов.

Списки рассылки

Основной список обсуждения и используется для обсуждения всех аспектов Проект GNU Crypto.

Объявления о GNU Crypto делаются на небольшом тираже список рассылки.

Для получения информации о подписке см. Информацию о списке рассылки на странице проекта.

Когда этот проект только начинался, он размещался в другом проекте GNU. Архивы дискуссионных списков рассылки за этот период все еще доступный:

Сообщить об ошибке

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

Стили кодирования

Новые исходные файлы для этого проекта должны быть написаны в соответствии с стандарты кодирования GNU, с некоторыми отличиями для Джава.

Существующие файлы записываются в соответствии с этими правилами, и два стиля должны не смешивать. Если желательно перейти от старого стиля к новому, затем следует изменить весь файл и изменить форматирование следует проверять атомарно.

Эти правила необходимо соблюдать для файлов ANT build.xml.

Логотипы

В январе 2003 года GNU Crypto наконец получила не один, а два логотипа! В сердце обоих логотипов — это цифра GNU + Keyhole .


В HOC SIGNO TECTIS

Эта (блестящая) дизайнерская идея, использованная с разрешения, принадлежит Кейси Маршаллу. и является его авторским правом.

Длинный квадратный логотип предназначен для исключительного использования проектом GNU Crypto; циркуляр один предназначен для пользователей и системных интеграторов, которые включают GNU Crypto в свои продукты. и / или дистрибутивы.

Товарные знаки

Все товарные знаки и зарегистрированные товарные знаки являются собственностью их соответствующий владелец (и).


Вернуться на домашнюю страницу GNU.

Запросы и вопросы о FSF и GNU направляйте по адресу [email protected] . Есть и другие способы связи ФСПО.

Пожалуйста, присылайте комментарии к этим веб-страницам по адресу [email protected] , отправляйте другие вопросы на [email protected] .

Авторские права © 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, США.

Дословное копирование и распространение этой статьи разрешено в любой носитель при условии сохранения данного примечания.

Обновлено: $ Дата: 02.04.2018 11:53:53 $ $ Автор: th_g $


.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *