{"id":2493,"date":"2016-12-21T16:37:51","date_gmt":"2016-12-21T15:37:51","guid":{"rendered":"http:\/\/www.donatantonio.net\/blog\/?page_id=2493"},"modified":"2016-12-21T16:37:51","modified_gmt":"2016-12-21T15:37:51","slug":"crittografia-pratica","status":"publish","type":"page","link":"https:\/\/www.donatantonio.net\/blog\/crittografia-pratica\/","title":{"rendered":"Crittografia Pratica"},"content":{"rendered":"<p>[vc_row overlay_dotted=&#8221;&#8221; css=&#8221;.vc_custom_1482334659679{margin-bottom: 30px !important;}&#8221;][vc_column][vc_column_text]Gli algoritmi di Crittografia di oggi e di ieri sviluppati in linguaggio PHP.[\/vc_column_text][\/vc_column][\/vc_row][vc_row overlay_dotted=&#8221;&#8221; css=&#8221;.vc_custom_1475783627605{padding-top: 0px !important;}&#8221;][vc_column width=&#8221;1\/2&#8243;]    <!-- Large Post Start -->\n    <div class=\"row aisa-fullgrid \">\n      <div class=\"col-lg-12 col-md-12 col-sm-12 col-xs-12\">        <div class=\"aisa-latestBlog\">\n          <div id=\"post-888\" class=\"aisa-blog-post  post-888 post type-post status-publish format-standard has-post-thumbnail hentry category-php tag-cifrario-di-vigenere tag-php-e-cifrario-di-vigenere tag-tavola-di-vigenere-in-php tag-vigenere-e-php\">\n                          <div class=\"aisa-featureImg\">\n                <a href=\"https:\/\/www.donatantonio.net\/blog\/wp-content\/uploads\/2010\/10\/vigenere.jpg\" class=\"aisa-img-popup\">\n                  <img src=\"https:\/\/www.donatantonio.net\/blog\/wp-content\/uploads\/2010\/10\/vigenere.jpg\" alt=\"Il cifrario di Vigen\u00e8re in PHP\"\/>\n                <\/a>\n              <\/div>\n                        <div class=\"aisa-excerpt\">\n              <div class=\"category-title\"><div class=\"aisa-btn\"><a href=\"https:\/\/www.donatantonio.net\/blog\/category\/guide_tutorial\/php\/\" rel=\"category tag\">PHP<\/a><\/div><\/div>              <h3 class=\"blog-heading\"><a href=\"https:\/\/www.donatantonio.net\/blog\/guide_tutorial\/php\/il-cifrario-di-vigenere-in-php\/\">Il cifrario di Vigen\u00e8re in PHP<\/a><\/h3>\n                              <div class=\"aisa-publish\">\n                  <ul>\n                                          <li> Ottobre 21, 2010 <\/li>\n                                          <li><span>by<\/span><\/li>\n                      <li>\n                        <a href=\"https:\/\/www.donatantonio.net\/blog\/author\/donatantonio\/\" rel=\"author\">Donatantonio<\/a>                      <\/li>\n                                      <\/ul>\n                <\/div>\n                              <div class=\"aisa-article\">\n                  <p>In due articoli precedenti abbiamo analizzato, grazie a PHP, due algoritmi di cifratura: Cesare e Blowfish.<br \/>\nIl primo al solo scopo didattico-storico, mentre il secondo pienamente utilizzabile all&#8217;interno delle nostre applicazioni, viste le sue potenzialit\u00e0 e il grado di sicurezza che fornisce.<\/p>\n<p>Il cifrario di Vigen\u00e8re \u00e8 il pi\u00f9 semplice dei cifrari polialfabetici. Si basa sull&#8217;uso di un versetto (chiave) per controllare l\u2019alternanza degli alfabeti di sostituzione.<br \/>\nIl metodo si pu\u00f2 considerare una <em>generalizzazione del cifrario di Cesare<\/em>; invece di spostare sempre dello stesso numero di posti la lettera da cifrare, questa viene spostata di un numero di posti variabile ma...                <\/div>\n                              <div class=\"aisa-readmore\">\n                  <a href=\"https:\/\/www.donatantonio.net\/blog\/guide_tutorial\/php\/il-cifrario-di-vigenere-in-php\/\">Leggi di pi\u00f9<\/a>\n                <\/div>\n                              <div class=\"aisa-sharebar row\">\n                                      <div class=\"col-lg-6 col-md-6 col-sm-6 col-xs-6 comentbox\">\n                      <a href=\"https:\/\/www.donatantonio.net\/blog\/guide_tutorial\/php\/il-cifrario-di-vigenere-in-php\/#comments\">1 Comment<\/a>                    <\/div>\n                                      <div class=\"col-lg-6 col-md-6 col-sm-6 col-xs-6 sharebox\">\n                          <div class=\"collapse\">\n      <a class=\"aisa-share\" href=\"javascript:void(0);\">Share<span>:<\/span><\/a>\n      <ul>\n        <li>\n          <a href=\"http:\/\/www.facebook.com\/sharer\/sharer.php?u=https%3A%2F%2Fwww.donatantonio.net%2Fblog%2Fguide_tutorial%2Fphp%2Fil-cifrario-di-vigenere-in-php%2F&amp;t=Il+cifrario+di+Vigen%C3%A8re+in+PHP\" target=\"_blank\" class=\"icon-fa-facebook\" data-toggle=\"tooltip\" data-placement=\"top\" title=\"Share On Facebook\"><i class=\"fa fa-facebook-official\"><\/i><\/a>\n        <\/li>\n        <li>\n          <a href=\"http:\/\/twitter.com\/home?status=Il+cifrario+di+Vigen%C3%A8re+in+PHP+https%3A%2F%2Fwww.donatantonio.net%2Fblog%2Fguide_tutorial%2Fphp%2Fil-cifrario-di-vigenere-in-php%2F\" target=\"_blank\" class=\"icon-fa-twitter\" data-toggle=\"tooltip\" data-placement=\"top\" title=\"Share On Twitter\"><i class=\"fa fa-twitter\"><\/i><\/a>\n        <\/li>\n        <li>\n          <a href=\"http:\/\/pinterest.com\/pin\/create\/button\/?url=https%3A%2F%2Fwww.donatantonio.net%2Fblog%2Fguide_tutorial%2Fphp%2Fil-cifrario-di-vigenere-in-php%2F&amp;description=Il+cifrario+di+Vigen%C3%A8re+in+PHP\" target=\"_blank\" class=\"icon-fa-pinterest\" data-toggle=\"tooltip\" data-placement=\"top\" title=\"Share On Pinterest\"><i class=\"fa fa-pinterest\"><\/i><\/a>\n        <\/li>\n        <li>\n          <a href=\"https:\/\/plus.google.com\/share?url=https%3A%2F%2Fwww.donatantonio.net%2Fblog%2Fguide_tutorial%2Fphp%2Fil-cifrario-di-vigenere-in-php%2F\" target=\"_blank\" class=\"icon-fa-google-plus\" data-toggle=\"tooltip\" data-placement=\"top\" title=\"Share On Google+\"><i class=\"fa fa-google-plus\"><\/i><\/a>\n        <\/li>\n        <li>\n          <a href=\"mailto:?subject=Il cifrario di Vigen\u00e8re in PHP&body=Il cifrario di Vigen\u00e8re in PHP%20%3A%20%0Ahttps:\/\/www.donatantonio.net\/blog\/guide_tutorial\/php\/il-cifrario-di-vigenere-in-php\/\" target=\"_blank\" class=\"icon-fa-email\" data-toggle=\"tooltip\" data-placement=\"top\" title=\"Share On Email\"><i class=\"fa fa-envelope-square\"><\/i><\/a>\n        <\/li>\n      <\/ul>\n    <\/div>\n                    <\/div>\n                                  <\/div>\n                            <\/div>\n            <\/div>\n         <\/div>\n             <\/div>\n    <\/div>\n    <!-- Large Post End -->\n    [\/vc_column][vc_column width=&#8221;1\/2&#8243;]    <!-- Large Post Start -->\n    <div class=\"row aisa-fullgrid \">\n      <div class=\"col-lg-12 col-md-12 col-sm-12 col-xs-12\">        <div class=\"aisa-latestBlog\">\n          <div id=\"post-875\" class=\"aisa-blog-post  post-875 post type-post status-publish format-standard has-post-thumbnail hentry category-php tag-cifrario-di-cesare tag-cifratura-di-cesare-in-php tag-crittografia-con-php tag-php-e-cifrario-di-cesare\">\n                          <div class=\"aisa-featureImg\">\n                <a href=\"https:\/\/www.donatantonio.net\/blog\/wp-content\/uploads\/2010\/10\/cesare.png\" class=\"aisa-img-popup\">\n                  <img src=\"https:\/\/www.donatantonio.net\/blog\/wp-content\/uploads\/2010\/10\/cesare.png\" alt=\"Il cifrario di Cesare in PHP\"\/>\n                <\/a>\n              <\/div>\n                        <div class=\"aisa-excerpt\">\n              <div class=\"category-title\"><div class=\"aisa-btn\"><a href=\"https:\/\/www.donatantonio.net\/blog\/category\/guide_tutorial\/php\/\" rel=\"category tag\">PHP<\/a><\/div><\/div>              <h3 class=\"blog-heading\"><a href=\"https:\/\/www.donatantonio.net\/blog\/guide_tutorial\/php\/il-cifrario-di-cesare-in-php\/\">Il cifrario di Cesare in PHP<\/a><\/h3>\n                              <div class=\"aisa-publish\">\n                  <ul>\n                                          <li> Ottobre 19, 2010 <\/li>\n                                          <li><span>by<\/span><\/li>\n                      <li>\n                        <a href=\"https:\/\/www.donatantonio.net\/blog\/author\/donatantonio\/\" rel=\"author\">Donatantonio<\/a>                      <\/li>\n                                      <\/ul>\n                <\/div>\n                              <div class=\"aisa-article\">\n                  <p>In un articolo precedente si \u00e8 vista la crittografia con algoritmo Blowfish in PHP.<br \/>\nEsistono per\u00f2 molteplici algoritmi di cifratura, alcuni utilizzati durante le guerre mondiali, altri ancora pi\u00f9 antichi utilizzati nel lontano medioevo.<br \/>\nUno degli algoritmi pi\u00f9 antichi di cui si abbia traccia storica \u00e8 il &#8220;Cifrario di Cesare&#8221;. \u00c8 un cifrario a sostituzione monoalfabetica in cui ogni lettera del testo in chiaro \u00e8 sostituita nel testo cifrato dalla lettera che si trova un certo numero di posizioni dopo nell&#8217;alfabeto. Questi tipi di cifrari sono detti anche cifrari a sostituzione: la sostituzione avviene lettera per lettera, scorrendo il testo...                <\/div>\n                              <div class=\"aisa-readmore\">\n                  <a href=\"https:\/\/www.donatantonio.net\/blog\/guide_tutorial\/php\/il-cifrario-di-cesare-in-php\/\">Leggi di pi\u00f9<\/a>\n                <\/div>\n                              <div class=\"aisa-sharebar row\">\n                                      <div class=\"col-lg-6 col-md-6 col-sm-6 col-xs-6 comentbox\">\n                      <a href=\"https:\/\/www.donatantonio.net\/blog\/guide_tutorial\/php\/il-cifrario-di-cesare-in-php\/#comments\">1 Comment<\/a>                    <\/div>\n                                      <div class=\"col-lg-6 col-md-6 col-sm-6 col-xs-6 sharebox\">\n                          <div class=\"collapse\">\n      <a class=\"aisa-share\" href=\"javascript:void(0);\">Share<span>:<\/span><\/a>\n      <ul>\n        <li>\n          <a href=\"http:\/\/www.facebook.com\/sharer\/sharer.php?u=https%3A%2F%2Fwww.donatantonio.net%2Fblog%2Fguide_tutorial%2Fphp%2Fil-cifrario-di-cesare-in-php%2F&amp;t=Il+cifrario+di+Cesare+in+PHP\" target=\"_blank\" class=\"icon-fa-facebook\" data-toggle=\"tooltip\" data-placement=\"top\" title=\"Share On Facebook\"><i class=\"fa fa-facebook-official\"><\/i><\/a>\n        <\/li>\n        <li>\n          <a href=\"http:\/\/twitter.com\/home?status=Il+cifrario+di+Cesare+in+PHP+https%3A%2F%2Fwww.donatantonio.net%2Fblog%2Fguide_tutorial%2Fphp%2Fil-cifrario-di-cesare-in-php%2F\" target=\"_blank\" class=\"icon-fa-twitter\" data-toggle=\"tooltip\" data-placement=\"top\" title=\"Share On Twitter\"><i class=\"fa fa-twitter\"><\/i><\/a>\n        <\/li>\n        <li>\n          <a href=\"http:\/\/pinterest.com\/pin\/create\/button\/?url=https%3A%2F%2Fwww.donatantonio.net%2Fblog%2Fguide_tutorial%2Fphp%2Fil-cifrario-di-cesare-in-php%2F&amp;description=Il+cifrario+di+Cesare+in+PHP\" target=\"_blank\" class=\"icon-fa-pinterest\" data-toggle=\"tooltip\" data-placement=\"top\" title=\"Share On Pinterest\"><i class=\"fa fa-pinterest\"><\/i><\/a>\n        <\/li>\n        <li>\n          <a href=\"https:\/\/plus.google.com\/share?url=https%3A%2F%2Fwww.donatantonio.net%2Fblog%2Fguide_tutorial%2Fphp%2Fil-cifrario-di-cesare-in-php%2F\" target=\"_blank\" class=\"icon-fa-google-plus\" data-toggle=\"tooltip\" data-placement=\"top\" title=\"Share On Google+\"><i class=\"fa fa-google-plus\"><\/i><\/a>\n        <\/li>\n        <li>\n          <a href=\"mailto:?subject=Il cifrario di Cesare in PHP&body=Il cifrario di Cesare in PHP%20%3A%20%0Ahttps:\/\/www.donatantonio.net\/blog\/guide_tutorial\/php\/il-cifrario-di-cesare-in-php\/\" target=\"_blank\" class=\"icon-fa-email\" data-toggle=\"tooltip\" data-placement=\"top\" title=\"Share On Email\"><i class=\"fa fa-envelope-square\"><\/i><\/a>\n        <\/li>\n      <\/ul>\n    <\/div>\n                    <\/div>\n                                  <\/div>\n                            <\/div>\n            <\/div>\n         <\/div>\n             <\/div>\n    <\/div>\n    <!-- Large Post End -->\n    [\/vc_column][\/vc_row][vc_row][vc_column width=&#8221;1\/2&#8243;]    <!-- Large Post Start -->\n    <div class=\"row aisa-fullgrid \">\n      <div class=\"col-lg-12 col-md-12 col-sm-12 col-xs-12\">        <div class=\"aisa-latestBlog\">\n          <div id=\"post-949\" class=\"aisa-blog-post  post-949 post type-post status-publish format-standard has-post-thumbnail hentry category-php tag-cifrario-di-alberti tag-disco-cifrante-di-alberti tag-disco-di-alberti-in-php\">\n                          <div class=\"aisa-featureImg\">\n                <a href=\"https:\/\/www.donatantonio.net\/blog\/wp-content\/uploads\/2010\/10\/alberti_cipher_disk.jpg\" class=\"aisa-img-popup\">\n                  <img src=\"https:\/\/www.donatantonio.net\/blog\/wp-content\/uploads\/2010\/10\/alberti_cipher_disk.jpg\" alt=\"Il disco cifrante di Alberti in PHP\"\/>\n                <\/a>\n              <\/div>\n                        <div class=\"aisa-excerpt\">\n              <div class=\"category-title\"><div class=\"aisa-btn\"><a href=\"https:\/\/www.donatantonio.net\/blog\/category\/guide_tutorial\/php\/\" rel=\"category tag\">PHP<\/a><\/div><\/div>              <h3 class=\"blog-heading\"><a href=\"https:\/\/www.donatantonio.net\/blog\/guide_tutorial\/php\/il-disco-cifrante-di-alberti-in-php\/\">Il disco cifrante di Alberti in PHP<\/a><\/h3>\n                              <div class=\"aisa-publish\">\n                  <ul>\n                                          <li> Ottobre 30, 2010 <\/li>\n                                          <li><span>by<\/span><\/li>\n                      <li>\n                        <a href=\"https:\/\/www.donatantonio.net\/blog\/author\/donatantonio\/\" rel=\"author\">Donatantonio<\/a>                      <\/li>\n                                      <\/ul>\n                <\/div>\n                              <div class=\"aisa-article\">\n                  <p>Dopo il cifrario di Cesare e Vigen\u00e8re continuiamo l&#8217;excursus sulle tecniche di cifratura che hanno contraddistinto la storia e l&#8217;evoluzione di questa disciplina.<br \/>\nLeon Battista Alberti, vissuto a met\u00e0 del &#8216;400, fu una delle figure artistiche pi\u00f9 poliedriche del Rinascimento. Scrittore, architetto e matematico, fu anche un celebrato crittografo per gli standard della sua epoca, ed invent\u00f2 un metodo per generare messaggi criptati con l&#8217;aiuto di un apparecchio, il disco cifrante.<br \/>\nIl disco cifrante \u00e8 il primo sistema di cifratura polialfabetica, ancor prima del &#8220;troppo&#8221; famoso cifrario di Vigen\u00e8re rispetto cui \u00e8 estremamente pi\u00f9 potente.<br \/>\nL&#8217;apparecchio si compone di due...                <\/div>\n                              <div class=\"aisa-readmore\">\n                  <a href=\"https:\/\/www.donatantonio.net\/blog\/guide_tutorial\/php\/il-disco-cifrante-di-alberti-in-php\/\">Leggi di pi\u00f9<\/a>\n                <\/div>\n                              <div class=\"aisa-sharebar row\">\n                                      <div class=\"col-lg-6 col-md-6 col-sm-6 col-xs-6 comentbox\">\n                      <a href=\"https:\/\/www.donatantonio.net\/blog\/guide_tutorial\/php\/il-disco-cifrante-di-alberti-in-php\/#respond\">No Comments<\/a>                    <\/div>\n                                      <div class=\"col-lg-6 col-md-6 col-sm-6 col-xs-6 sharebox\">\n                          <div class=\"collapse\">\n      <a class=\"aisa-share\" href=\"javascript:void(0);\">Share<span>:<\/span><\/a>\n      <ul>\n        <li>\n          <a href=\"http:\/\/www.facebook.com\/sharer\/sharer.php?u=https%3A%2F%2Fwww.donatantonio.net%2Fblog%2Fguide_tutorial%2Fphp%2Fil-disco-cifrante-di-alberti-in-php%2F&amp;t=Il+disco+cifrante+di+Alberti+in+PHP\" target=\"_blank\" class=\"icon-fa-facebook\" data-toggle=\"tooltip\" data-placement=\"top\" title=\"Share On Facebook\"><i class=\"fa fa-facebook-official\"><\/i><\/a>\n        <\/li>\n        <li>\n          <a href=\"http:\/\/twitter.com\/home?status=Il+disco+cifrante+di+Alberti+in+PHP+https%3A%2F%2Fwww.donatantonio.net%2Fblog%2Fguide_tutorial%2Fphp%2Fil-disco-cifrante-di-alberti-in-php%2F\" target=\"_blank\" class=\"icon-fa-twitter\" data-toggle=\"tooltip\" data-placement=\"top\" title=\"Share On Twitter\"><i class=\"fa fa-twitter\"><\/i><\/a>\n        <\/li>\n        <li>\n          <a href=\"http:\/\/pinterest.com\/pin\/create\/button\/?url=https%3A%2F%2Fwww.donatantonio.net%2Fblog%2Fguide_tutorial%2Fphp%2Fil-disco-cifrante-di-alberti-in-php%2F&amp;description=Il+disco+cifrante+di+Alberti+in+PHP\" target=\"_blank\" class=\"icon-fa-pinterest\" data-toggle=\"tooltip\" data-placement=\"top\" title=\"Share On Pinterest\"><i class=\"fa fa-pinterest\"><\/i><\/a>\n        <\/li>\n        <li>\n          <a href=\"https:\/\/plus.google.com\/share?url=https%3A%2F%2Fwww.donatantonio.net%2Fblog%2Fguide_tutorial%2Fphp%2Fil-disco-cifrante-di-alberti-in-php%2F\" target=\"_blank\" class=\"icon-fa-google-plus\" data-toggle=\"tooltip\" data-placement=\"top\" title=\"Share On Google+\"><i class=\"fa fa-google-plus\"><\/i><\/a>\n        <\/li>\n        <li>\n          <a href=\"mailto:?subject=Il disco cifrante di Alberti in PHP&body=Il disco cifrante di Alberti in PHP%20%3A%20%0Ahttps:\/\/www.donatantonio.net\/blog\/guide_tutorial\/php\/il-disco-cifrante-di-alberti-in-php\/\" target=\"_blank\" class=\"icon-fa-email\" data-toggle=\"tooltip\" data-placement=\"top\" title=\"Share On Email\"><i class=\"fa fa-envelope-square\"><\/i><\/a>\n        <\/li>\n      <\/ul>\n    <\/div>\n                    <\/div>\n                                  <\/div>\n                            <\/div>\n            <\/div>\n         <\/div>\n             <\/div>\n    <\/div>\n    <!-- Large Post End -->\n    [\/vc_column][vc_column width=&#8221;1\/2&#8243;]    <!-- Large Post Start -->\n    <div class=\"row aisa-fullgrid \">\n      <div class=\"col-lg-12 col-md-12 col-sm-12 col-xs-12\">        <div class=\"aisa-latestBlog\">\n          <div id=\"post-859\" class=\"aisa-blog-post  post-859 post type-post status-publish format-standard has-post-thumbnail hentry category-php tag-blowfish-php tag-crittografia-con-blowfish tag-crittografia-con-php tag-esempio-blowfish tag-php-e-blowfish\">\n                          <div class=\"aisa-featureImg\">\n                <a href=\"https:\/\/www.donatantonio.net\/blog\/wp-content\/uploads\/2016\/12\/CRITTO.jpg\" class=\"aisa-img-popup\">\n                  <img src=\"https:\/\/www.donatantonio.net\/blog\/wp-content\/uploads\/2016\/12\/CRITTO.jpg\" alt=\"Crittografia con Php\/Blowfish\"\/>\n                <\/a>\n              <\/div>\n                        <div class=\"aisa-excerpt\">\n              <div class=\"category-title\"><div class=\"aisa-btn\"><a href=\"https:\/\/www.donatantonio.net\/blog\/category\/guide_tutorial\/php\/\" rel=\"category tag\">PHP<\/a><\/div><\/div>              <h3 class=\"blog-heading\"><a href=\"https:\/\/www.donatantonio.net\/blog\/guide_tutorial\/php\/crittografia-con-phpblowfish\/\">Crittografia con Php\/Blowfish<\/a><\/h3>\n                              <div class=\"aisa-publish\">\n                  <ul>\n                                          <li> Ottobre 18, 2010 <\/li>\n                                          <li><span>by<\/span><\/li>\n                      <li>\n                        <a href=\"https:\/\/www.donatantonio.net\/blog\/author\/donatantonio\/\" rel=\"author\">Donatantonio<\/a>                      <\/li>\n                                      <\/ul>\n                <\/div>\n                              <div class=\"aisa-article\">\n                  <p>In questo articolo vedremo come utilizzare l&#8217;algoritmo Blowfish per cifrare un testo in chiaro.<br \/>\nInnazitutto Blowfish \u00e8 un algoritmo a chiave simmetrica a blocchi, ideato nel 1993 da Bruce Schneier e implementato in molti software di crittografia.<br \/>\nQuest\u2019algoritmo utilizza varie tecniche tra le quali la rete Feistel, le S-box dipendenti da chiavi e funzioni F non invertibili che lo rendono, forse, l\u2019algoritmo pi\u00f9 sicuro attualmente disponibile. Le chiavi utilizzate sono di dimensioni variabili fino ad un massimo di 448 bit e i blocchi utilizzati per la cifratura sono di 64 bit. Non si conoscono al momento tecniche di attacco valide...                <\/div>\n                              <div class=\"aisa-readmore\">\n                  <a href=\"https:\/\/www.donatantonio.net\/blog\/guide_tutorial\/php\/crittografia-con-phpblowfish\/\">Leggi di pi\u00f9<\/a>\n                <\/div>\n                              <div class=\"aisa-sharebar row\">\n                                      <div class=\"col-lg-6 col-md-6 col-sm-6 col-xs-6 comentbox\">\n                      <a href=\"https:\/\/www.donatantonio.net\/blog\/guide_tutorial\/php\/crittografia-con-phpblowfish\/#respond\">No Comments<\/a>                    <\/div>\n                                      <div class=\"col-lg-6 col-md-6 col-sm-6 col-xs-6 sharebox\">\n                          <div class=\"collapse\">\n      <a class=\"aisa-share\" href=\"javascript:void(0);\">Share<span>:<\/span><\/a>\n      <ul>\n        <li>\n          <a href=\"http:\/\/www.facebook.com\/sharer\/sharer.php?u=https%3A%2F%2Fwww.donatantonio.net%2Fblog%2Fguide_tutorial%2Fphp%2Fcrittografia-con-phpblowfish%2F&amp;t=Crittografia+con+Php%2FBlowfish\" target=\"_blank\" class=\"icon-fa-facebook\" data-toggle=\"tooltip\" data-placement=\"top\" title=\"Share On Facebook\"><i class=\"fa fa-facebook-official\"><\/i><\/a>\n        <\/li>\n        <li>\n          <a href=\"http:\/\/twitter.com\/home?status=Crittografia+con+Php%2FBlowfish+https%3A%2F%2Fwww.donatantonio.net%2Fblog%2Fguide_tutorial%2Fphp%2Fcrittografia-con-phpblowfish%2F\" target=\"_blank\" class=\"icon-fa-twitter\" data-toggle=\"tooltip\" data-placement=\"top\" title=\"Share On Twitter\"><i class=\"fa fa-twitter\"><\/i><\/a>\n        <\/li>\n        <li>\n          <a href=\"http:\/\/pinterest.com\/pin\/create\/button\/?url=https%3A%2F%2Fwww.donatantonio.net%2Fblog%2Fguide_tutorial%2Fphp%2Fcrittografia-con-phpblowfish%2F&amp;description=Crittografia+con+Php%2FBlowfish\" target=\"_blank\" class=\"icon-fa-pinterest\" data-toggle=\"tooltip\" data-placement=\"top\" title=\"Share On Pinterest\"><i class=\"fa fa-pinterest\"><\/i><\/a>\n        <\/li>\n        <li>\n          <a href=\"https:\/\/plus.google.com\/share?url=https%3A%2F%2Fwww.donatantonio.net%2Fblog%2Fguide_tutorial%2Fphp%2Fcrittografia-con-phpblowfish%2F\" target=\"_blank\" class=\"icon-fa-google-plus\" data-toggle=\"tooltip\" data-placement=\"top\" title=\"Share On Google+\"><i class=\"fa fa-google-plus\"><\/i><\/a>\n        <\/li>\n        <li>\n          <a href=\"mailto:?subject=Crittografia con Php\/Blowfish&body=Crittografia con Php\/Blowfish%20%3A%20%0Ahttps:\/\/www.donatantonio.net\/blog\/guide_tutorial\/php\/crittografia-con-phpblowfish\/\" target=\"_blank\" class=\"icon-fa-email\" data-toggle=\"tooltip\" data-placement=\"top\" title=\"Share On Email\"><i class=\"fa fa-envelope-square\"><\/i><\/a>\n        <\/li>\n      <\/ul>\n    <\/div>\n                    <\/div>\n                                  <\/div>\n                            <\/div>\n            <\/div>\n         <\/div>\n             <\/div>\n    <\/div>\n    <!-- Large Post End -->\n    [\/vc_column][\/vc_row]<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In questo articolo vedremo come utilizzare l&#8217;algoritmo Blowfish per cifrare un testo in chiaro.<br \/>\nInnazitutto Blowfish \u00e8 un algoritmo a chiave simmetrica a blocchi, ideato nel 1993 da Bruce Schneier e implementato in molti software di crittografia.<br \/>\nQuest\u2019algoritmo utilizza varie tecniche tra le quali la rete Feistel, le S-box dipendenti da chiavi e funzioni F non invertibili che lo rendono, forse, l\u2019algoritmo pi\u00f9 sicuro attualmente disponibile. Le chiavi utilizzate sono di dimensioni variabili fino ad un massimo di 448 bit e i blocchi utilizzati per la cifratura sono di 64 bit. Non si conoscono al momento tecniche di attacco valide nei suoi confronti. E&#8217; considerato uno degli algoritmi di cifratura a blocchi pi\u00f9 veloce (risulta pi\u00f9 veloce di DES e IDEA). Blowfish non \u00e8 brevettato ed \u00e8 di dominio pubblico.<\/p>\n<p>Evitando di entrare nel cuore dell&#8217;algoritmo (troppo complesso per essere spiegato in questa sede), realizzeremo una classe php che inglobi l&#8217;algoritmo fornendoci essenzialmente solo i metodi che ci interessano:<\/p>\n<p>Impostare la chiave<br \/>\nCifrare un testo<br \/>\nDecifrare un testo<\/p>\n<p>Inoltre realizzeremo uno script di test e un form html per verificare il risultato finale.<br \/>\nDi seguito il codice della classe Crittografia:<\/p>\n<p>&lt;?php<br \/>\n\/\/ Richiamo il codice che implementa Blowfish<br \/>\nrequire_once(&#8216;blowfish.php&#8217;);<\/p>\n<p>class Crittografia{<br \/>\n\tvar $chiave;<br \/>\n\tvar $blowfish;<\/p>\n<p>\t\/\/ Costruttore della classe Crittografia &#8211; prende in input la chiave in chiaro<br \/>\n\tfunction Crittografia($stringa){<br \/>\n\t\t$this-&gt;chiave = $stringa;<br \/>\n\t}<\/p>\n<p>\t\/\/ Funzione di codifica di un testo in chiaro<br \/>\n\tfunction cifratura($stringa){<br \/>\n\t\t$this-&gt;blowfish = new Horde_Cipher_blowfish;<br \/>\n\t\t$encrypt = &#8221;;<br \/>\n\t\t$mod = strlen($stringa) % 8;<br \/>\n\t\tif ($mod &gt; 0) {<br \/>\n\t\t\t$stringa .= str_repeat(&quot;&#92;&#48;&quot;, 8 &#8211; $mod);<br \/>\n\t\t}<br \/>\n\t\tforeach (str_split( $stringa, 8 ) as $chunk){<br \/>\n\t\t\t$encrypt .= $this-&gt;blowfish-&gt;encryptBlock($chunk, $this-&gt;getChiave());<br \/>\n\t\t}<br \/>\n\t\treturn base64_encode($encrypt);<br \/>\n\t}<\/p>\n<p>\t\/\/ Funzione di decodifica di un testo cifrato<br \/>\n\tfunction decifratura($stringa){<br \/>\n\t\t$this-&gt;blowfish = new Horde_Cipher_blowfish;<br \/>\n\t\t$decrypt = &#8221;;<br \/>\n\t\t$data = base64_decode($stringa);<br \/>\n\t\tforeach (str_split( $data, 8 ) as $chunk){<br \/>\n\t\t\t$decrypt .= $this-&gt;blowfish-&gt;decryptBlock($chunk, $this-&gt;getChiave());<br \/>\n\t\t}<br \/>\n\t\treturn trim($decrypt);<br \/>\n\t}<\/p>\n<p>\t\/\/ Funzione per restituzione della chiave<br \/>\n\tfunction getChiave(){<br \/>\n\t\treturn $this-&gt;chiave;<br \/>\n\t}<br \/>\n}<br \/>\n?&gt;<\/p>\n<p>La classe Crittografia far\u00e0 uso dei metodi dell&#8217;algoritmo Blowfish, quindi il codice inizia con il require della classe.<br \/>\nIl costruttore della classe \u00e8 molto semplice, infatti acquisisce in input una stringa che sar\u00e0 la chiave utilizzata per la cifratura\/decifratura.<br \/>\nDi seguito i metodi fondamentali, cifratura e decifratura. Entrambi prendono come parametro una stringa e restituiscono una nuova stringa che nel primo caso sar\u00e0 il testo cifrato e viceversa nel secondo caso sar\u00e0 il testo in chiaro.<br \/>\nAll&#8217;interno di entrambi i metodi viene istanziato l&#8217;oggetto Horde_Cipher_blowfish e viene suddivisa la stringa di input in gruppi di 8 caratteri per effettuare la cifratura\/decifratura un blocco per volta.<br \/>\nVediamo quindi in che modo richiamare la classe Crittografia:<\/p>\n<p>&lt;?php<br \/>\n\/\/ Richiamo la classe<br \/>\nrequire_once &#8216;crittografia.php&#8217;;<\/p>\n<p>\/\/ Istanzio l&#8217;oggetto Crittografia con chiave $chiave<br \/>\n$blowfish = new Crittografia($chiave);<\/p>\n<p>\/\/ Cifro un testo $txt<br \/>\n$txt_cifrato = $blowfish-&gt;cifratura($txt);<\/p>\n<p>\/\/ Decifro il testo ottenuto dalla cifratura<br \/>\n$txt_originale = $blowfish-&gt;decifratura($txt_cifrato);<br \/>\n?&gt;<\/p>\n<p>All&#8217;interno della cartella contenente il codice completo sono presenti i seguenti file:<\/p>\n<p>blowfish.php (l&#8217;algoritmo di cifratura)<br \/>\ncrittografia.php (la classe che inbloba l&#8217;algoritmo blowfish)<br \/>\ntest.php (lo script che effettua la cifratura\/decifratura)<br \/>\nindex.html (un form per il test di coppie chiave-testo in chiaro)<\/p>\n<p>Cliccando qui \u00e8 possibile vedere in azione il codice.<\/p>\n<p>Cliccando qui \u00e8 possibile scaricare il codice.<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":[],"_links":{"self":[{"href":"https:\/\/www.donatantonio.net\/blog\/wp-json\/wp\/v2\/pages\/2493"}],"collection":[{"href":"https:\/\/www.donatantonio.net\/blog\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.donatantonio.net\/blog\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.donatantonio.net\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.donatantonio.net\/blog\/wp-json\/wp\/v2\/comments?post=2493"}],"version-history":[{"count":3,"href":"https:\/\/www.donatantonio.net\/blog\/wp-json\/wp\/v2\/pages\/2493\/revisions"}],"predecessor-version":[{"id":2496,"href":"https:\/\/www.donatantonio.net\/blog\/wp-json\/wp\/v2\/pages\/2493\/revisions\/2496"}],"wp:attachment":[{"href":"https:\/\/www.donatantonio.net\/blog\/wp-json\/wp\/v2\/media?parent=2493"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}