{
  "fetched_at": "2026-10-20T04:09:33Z",
  "source_url": "https://www.kaggle.com/competitions/boost/data",
  "pages": [
    {
      "name": "rules",
      "content": "\r\n\t<!-- Begin Base Rules -->\r\n    <h3>One account per participant</h3>\r\n    <p>You cannot sign up to Kaggle from multiple accounts and therefore you cannot submit from multiple accounts.</p>\r\n    <h3>No private sharing outside teams</h3>\r\n    <p>\r\n        Privately sharing code or data outside of teams is not permitted.\r\n        It's okay to share code if made available to all participants on the forums.\r\n    </p>\r\n    <h3>Team Mergers</h3>\r\n    <p>Team mergers are not allowed in this competition.</p>\r\n\r\n    <h3>Team Limits</h3>\r\n    <p>There is no maximum team size.</p>\r\n    <h3>Submission Limits</h3>\r\n    <p>You may submit a maximum of 2 entries per day.</p>\r\n    <p>You may select up to 2 final submissions for judging.</p>\r\n    <h3>Competition Timeline</h3>\r\n    <p>Start Date: <strong>TBA</strong></p>\r\n    <p>Merger Deadline: <strong>None</strong></p>\r\n    <p>Entry Deadline: <strong>None</strong></p>\r\n    <p>End Date: <strong>2/1/2014 12:00 AM UTC</strong></p>\r\n\t<!-- End Base Rules -->\r\n<p>The rules page is a bit special: it will auto-update the text based on the parameters of the competition. The rules you need to add here are any additional rules relating to dataset usage. You may also put grading information here.</p>",
      "isPublished": false,
      "hasIsPublished": false,
      "postTitle": "",
      "hasPostTitle": false,
      "mimeType": "",
      "hasMimeType": false
    },
    {
      "name": "data-description",
      "content": "<h2>NB: The data has been removed to redo the pre-processing.</h2>\n\n<p>On this page you're provided with the following data:</p>\n<h2>File descriptions</h2>\n<ul>\n<li><strong>training.zip</strong> - Contains the training data. For 300 Spatial Light Modulator (SLM) configurations the responses of two PUFs, labelled PUF 1 and PUF2, are provided in the bitmap file format.</li>\n<li><strong>test.zip</strong> - Contains 200 unlabelled PUF responses. The task at hand is to label these responses according to the PUF that created them. Half of this data will be used to compute the intermediate leaderboard.</li>\n<li><strong>SLM_config_training.zip</strong> - Contains the configuration files of the Spacial Light Modulator for the training dataset. As explained on the page 'Experimental Setup' this configuration consists of 963 numbers between 0 and 208, corresponding to phase angles between 0 and 2 pi.</li>\n<li><strong>SLM_config_test.zip</strong> - Contains the configuration files of the Spatial Light Modulator for the test dataset.</li>\n<li><strong>SLM_config_example.zip</strong> - Contains an example of how these SLM configuration files can be interpreted in terms of spacial settings of the SLM itself.</li>\n<li><strong>example_submission.txt</strong> - An example of a final answer file. Your submission should consist of two columns, one labeled id and one labelled answer and should have answers to the 200 binary questions: 1 or 2. </li>\n</ul>",
      "isPublished": false,
      "hasIsPublished": false,
      "postTitle": "",
      "hasPostTitle": false,
      "mimeType": "",
      "hasMimeType": false
    },
    {
      "name": "Description",
      "content": "<h3> The challenge is on hold until data pre-processing is redone.</h3>\n\n<p> <b>BOOST</b> (Break Our Optical Security Technology) is being organized as the first scientific challenge on optical PUFs (Physical Unclonable Functions). The aim of the challenge is to confirm or disprove the validity of security assumptions that are often made about optical PUF responses. PUFs have emerged as a cost-effective identification/authentication technology, which is urgently needed in the Internet-of-Things (IoT) era. Especially speckle-based optical PUFs, with their unique combination of properties:\n <ul>\n<li>They are passive, in the sense that the PUF itself contains no electronics and needs no power.\n <li> They can be read out using a cheap laser and an ordinary smartphone camera.\n <li> They can be challenged with many different degrees of freedom and contain a large amount of entropy.\n</ul>\nBOOST is a challenge to the Machine Learning community, aimed to improve our understanding of correlations inside speckle patterns and between speckle patterns.</p>\n\n<h3>Organizers</h3>\n<li>Boris Škorić (TU Eindhoven, The Netherlands)<br>\n<li>Teddy Furon (Inria - University of Rennes, France)<br>\n<li>Slava Voloshynovskiy (Univ. Geneva, Switzerland)<br>\n</p>\n<div class=\"page\" title=\"Page 1\">\n<div class=\"layoutArea\">\n<div class=\"column\">\n<h3>Schedule</h3>\n<p><strong>Stage 1:</strong></p>\n<ul>\n<li>Start date: February 1st, 2018\n<li>End date: July 31st, 2018\n</ul>\n<div class=\"column\">\n<p><strong>Stage 2:</strong></p>\n<ul>\n<li>Start date: June 1st, 2018\n<li>End date: September 30th, 2018\n</ul>\n<h3>Challenge Rules</h3>\n<p>Two datasets are made available</p>\n</div>\n</div>\n<div class=\"layoutArea\">\n<div class=\"column\">\n<ol>\n<li>\n<p>Training data. Query-response pairs from two different PUFs, &ldquo;A&rdquo; and &ldquo;B&rdquo;. The queries are given as configuration files for a beam-shaping optical element known as Spatial Light Modulator. The responses are given as grayscale images of the response speckle pattern.</p>\n</li>\n<li>\n<p>Challenge data. A list of queries different from the ones in the training dataset, each query accompanied by a response from either PUF A or PUF B. It is not indicated which PUF.</p>\n</li>\n</ol>\n<p>The task is to find out, for each query in the challenge dataset, from which PUF the response was obtained. The challenge will have two phases.\nIn the first phase the PUFs are rather thin, which means they contain\nlittle entropy. Thus we expect that phase 1 of the challenge is easy.\nIn phase 2 the thickness of the PUFs is increased, resulting in a more\ndifficult challenge. The winner will be the competitor who has submitted the most accurate answers.</p>\n</div>\n</div>\n</div>\n</section>\n\n<h3>Objectives and research questions </h3>\n\n<p>\nLaser speckle has received a lot of attention in the physics community.\nHowever, the application of speckle in a security context requires a\nmore multidisciplinary approach. A background in signal processing,\ncomputer vision,  machine learning and cryptography is indispensable for\nbuilding scalable authentication/identification protocols and for\nunderstanding their security.</p> \n\n<p>\nThe scientific objectives of the BOOST challenge are:\n<ol>\n<li> To get an accurate estimate for the number of independent\nChallenge-Response Pairs of an optical PUF. \n<li> To find out how much Machine Learning can help us in detecting intensity dependencies inside\nspeckle patterns, as well as between different speckle patterns obtained from the same PUF.\n</ol>\n</p>\n\n<p>\nWe would like to invite research communities from multiple disciplines\nto participate in this challenge.</p>\n\n</div>",
      "isPublished": false,
      "hasIsPublished": false,
      "postTitle": "",
      "hasPostTitle": false,
      "mimeType": "",
      "hasMimeType": false
    },
    {
      "name": "Evaluation",
      "content": "<p>For 200 unlabelled speckle images you'll be asked the binary question:<br>\n\"Is this a response from PUF 1 or PUF 2?\". Your score will simply be the percentage of correct answers.</p>\n\nYour submission should contain two columns, one named 'id' and one named 'Answers' separated by a comma. The 'id' has the numbers  1 till 200 indicating which image you're identifying. The 'Answers' column has the number 1 or 2 indicating PUF 1 or 2.<br><br>\n\n<table style=\"width:100%\">\n  <tr>\n    <th>id, </th>\n    <th>Answers</th> \n  </tr>\n  <tr>\n    <td>1,</td>\n    <td>2</td> \n  </tr>\n <tr>\n    <td>2,</td>\n    <td>2</td> \n  </tr>\n <tr>\n    <td>3,</td>\n    <td>1</td> \n  </tr>\n <tr>\n    <td>.</td>\n    <td>.</td> \n  </tr> <tr>\n    <td>.</td>\n    <td>.</td> \n  </tr> <tr>\n    <td>.</td>\n    <td>.</td> \n  </tr>\n</table><br><br>\n\nAnd example submission file is available at 'Data'.",
      "isPublished": false,
      "hasIsPublished": false,
      "postTitle": "",
      "hasPostTitle": false,
      "mimeType": "",
      "hasMimeType": false
    },
    {
      "name": "Background",
      "content": "\n<h3>Overview and Background</h3>\n<p>\n<I>This challenge is initiated by the <a href=\"index.html\">Id_Iot Project</a> (IDentification for the\nInternet Of Things), CHIST-ERA.</I><br>\nThe IoT will contain a huge number of devices and objects that have very low or nonexistent\nprocessing and communication resources, coupled to a small number of high-power\ndevices. The weakest devices, which are most ubiquitous, will not be able to authenticate\nthemselves using cryptographic methods. Other important tasks in the IoT will be to verify\nif an object is authentic, or to identify an object. A promising way to address these issues is\nto use <I>Physical Unclonable Functions</I> (PUFs). PUFs, and especially Quantum Readout PUFs,\nare ideally suited to the IoT setting because they allow for the authentication and\nidentification of physical objects without requiring any crypto or storage of secret\ninformation.\nFurthermore, we foresee that back-end systems will not be able to provide security and\nprivacy via cryptographic primitives due to the sheer number of IoT devices. These\nproblems have to be addressed using privacy-preserving database structures and PUF\nidentification/authentication algorithms with good scaling behaviour.</p>\n<p>\nThis approach requires a solid understanding of PUF behaviour, i.e. the mechanism that\ntransforms an optical PUF challenge into a response speckle pattern. Theoretical physics\ngives us a description of coherent strong scattering that is able to predict some global\nproperties of speckle correlations, but not in sufficient detail to make unambiguous\nstatements about the security/privacy/efficiency aspects of speckle-based identification\nand authentication. The purpose of the BOOST challenge is to leverage state of the art\nmachine learning techniques to determine the boundaries of speckle-based security\napplications.\n</p>\n\n<h3>Optical PUF basics</h3>\n\"Speckle\" is an interference phenomenon that occurs when coherent\nlight (laser light) gets scattered by a rough surface or passes through a\nscattering substance. When viewed with a camera, the image consists of\nrandom-looking dark and bright blobs. This is called a speckle pattern.\nThe pattern has a very strong dependence on the microscopic\ncomposition of the scattering substance. Furthermore, the speckle\npattern is also very sensitive to the characteristics of the incoming light,\ne.g. angle of incidence, focus etc.</p>\n<p>As it is difficult to make a precise\nclone of strong-scattering objects, such objects are known as <b>Physical\nUnclonable Functions</b> (PUFs). An optical PUF essentially behaves like\na keyed hash function, where the properties of the incoming light\nconstitute the input, the configuration of the scatterers in the PUF is the\nkey, and the exiting light is the hash value.</p>\n<p>The combination of an input\nand a PUF output is known as a <b>Challenge-Response Pair</b> (CRP).\nOptical PUFs can be used in various identification and authentication\nprotocols. This is rather straightforward when the verifier has full control\nover the PUF. However, a number of protocols for remote authentication\nface the threat of spoofing attacks, especially lightweight protocols that\nrely on the secrecy of CRPs. Here it becomes important to known\nexactly how many independent CRPs a PUF can support, i.e. how many\nCRPs from a PUF the attacker must observe before he can start\npredicting responses.</p>\n<p>\nAnother issue is privacy. In protocols that involve a CRP-database- owning\nthird party, it may be necessary to ensure that this third party does not\nlearn which PUF is being authenticated/identified. For all these reasons\nit is important to have a good understanding of speckle statistics.\n\n<h3> Speckle statistics</h3>\n<p>The multiple scattering process in a PUF can be described using a model that is also used for fiber optics. \nThe incoming and exiting light are both described as a complex N-component vector. \nHere N is the number of \"modes\" or transversal directions. \nLet &lambda; be the laser wavelength and let A be the illuminated area of the PUF; \nthen the number of modes is approximately N = &pi; A/&lambda;^<sup>2</sup>. \nIn the picture below we have A=W^<sup>2</sup>.\nThe average angular size of a speckle is &lambda;/W.\n<br>\n<center><img src=\"https://security1.win.tue.nl/Id_IoT/waveguide.png\"></center>\n<br>\nEach complex entry in the vector says how much light is travelling in the corresponding direction, and what the phase is. The \"physical function\" which maps the state of the incoming light to the response speckle pattern can be modelled as a complex N x N transmission matrix.</p>\n<p>Camera pixels are sensitive to light intensity but not phase. \nThe image recorded by a camera contains information only about the absolute value of the output-vector entries. Thus, even though the PUF physics is entirely linear, the recorded responses are a quadratic function of the challenge parameters and the transmission matrix elements. The entries of the transmission matrix are not mutually independent. A quick way of understanding this is by counting degrees of freedom. On the one hand, the transmission matrix has N^<sup>2</sup>&nbsp;complex degrees of freedom. On the other hand the PUF contains V/&lambda;^<sup>3</sup>&nbsp;\"voxels\", volume elements that contain a small fixed amount of information that can be probed using light of wavelength labda. (Here \"V\" stands for the PUF volume through which light is diffusing. Typically V=Ad, where d is the thickness.) In practical PUF geometries, the number of voxels is smaller than N^<sup>2</sup>.</p>\n<p>The implications are twofold.<br />(i) A PUF's transmission matrix contains less information than you would guess from its size. The information from the voxels is contained multiple times in the transmission matrix.&nbsp;<br />(ii) A speckle pattern leaks less information about the transmission matrix than you would guess from its size.</p>\n<p>For details about speckle correlations we refer to the literature below.</p>\n<ul>\n<li><em>Statistical properties of laser speckle patterns</em>. J. W. Goodman, in Laser Speckle and Related Phenomena, 2nd ed., J. C. Dainty, Ed. New York: Springer-Verlag, 1984.</li>\n<li><em>Correlations and Fluctuations of Coherent Wave Transmission through Disordered Media</em>. S. Feng, C. Kane, P.A. Lee and A.D. Stone, Phys.Rev.Lett. Vol.61 No.7 (1988), pp 834--837.</li>\n</ul>\n<p>For security applications of optical PUFs we refer to</p>\n<ul>\n<li><em>Physical One-Way Functions</em>. R. Pappu et al., Science Vol. 297, Sept 2002, p.2026.</li>\n<li><em>Information-Theoretic Security Analysis of Physical Uncloneable Functions</em>. \nP. Tuyls, B. Skoric, S. Stallinga, A.H.M Akkermans and W. Ophey. \n9th Conf. on Financial Cryptography and Data Security 2005. \nLNCS 3570, pp 141-155</li>\n<li> <em>Optical PUFs reloaded</em>. U R&uuml;hrmair, C. Hilgers, S. Urban, A. Weiersh&auml;user,\nE. Dinter, B. Forster, C. Jirauschek. \nCryptology ePrint Archive, Report 2013/215, 2013.\n</ul>\n\n\n<h3>Modelling the experimental setup</h3>\n<p>\nAs mentioned above,\nthe events inside the PUF are typically modelled by a <B>scattering matrix</B> M,\nwhich specifies how light scatters from one mode to another.\nThe light entering the PUF is represented as a complex-valued N-dimensional\nelectric field vector E.\nThe notation E<sub>k</sub> stands for the complex \"amplitude\" of the electric field\ntraveling in direction k. Note that k is a two-dimensional index standing for \n(k<sub>x</sub>,k<sub>y</sub>); there are N possible values of k that can exist inside the PUF.\nThe light intensity in mode k is |E<sub>k</sub>|^<sup>2</sup>.\nThe argument arg(E<sub>k</sub>) is the phase of the light in mode k.\n\nThe light that comes out of the PUF is similarly described as a complex vector F.\nThe relation between E and F is given by\n<blockquote>\nF = ME.\n</blockquote>\nThis should be read as the matrix multiplication\nF<sub>p</sub> = &Sigma;<sub>k</sub> M<sub>pk</sub>E<sub>k</sub>, where \np=(p<sub>x</sub>,p<sub>y</sub>) is a two-dimensional index, and \n&Sigma;<sub>k</sub> is a summation over k<sub>x</sub> and k<sub>y</sub>.\nThe matrix M has complex entries.\n</p><p>\nModelling the PUF combined with the Spatial Light Modulator \n('SLM', see <a href=\"setup.html\">setup</a>) \nand the camera requires some extra work.\nFirst, the optics cannot capture all the N outcoming speckles, but a subset of size N'.\nSecond,\nthe camera is positioned such that each of the captured speckles covers \nmultiple camera pixels. \nHence one has to take into account a (dimensionality) mismatch \nbetween the output as predicted by the physical model and what is actually caught on camera.\nNote that the camera registers only a measurement proportional to the field strength\n|F<sub>p</sub>|^<sup>2</sup>, and the phase information is lost.\n</p>\n<p>\nThe optics at the input side\ntranslates the phase setting on one SLM 'superpixel' (degree of fredom)\ninto the phase of one incoming direction.\nNote however that the SLM is tuned to have not N degrees of freedom but only N'.\nHence there is a small mismatch between the incidence angles as\nfed into the PUF by the challenge mechanism and the modes in the physical \nmodel of the PUF.\n<br>\nA combined matrix model that maps the SLM confguration to a PUF output\nwill therefore work with a matrix T that is not square but N &times; N',\n<blockquote>\nF = TS.\n</blockquote>\nHere S is a vector containing the pure phases as specified in the SLM configuration.\n(The term 'pure phase' means a complex number on the unit circle.)\n</p>\nNote that the lenses in the setup have the effect of performing a \ntwo-dimensional <B>Fourier transform</B>:\na location on the SLM is transformed by a lens into a direction (angle) of a plane wave \nincident on the PUF.\nSimilarly, light exiting from the PUF in a certain mode is a plane wave \nmoving in a certain direction; a lens maps this to a location on the camera's\npixel array.\n",
      "isPublished": false,
      "hasIsPublished": false,
      "postTitle": "",
      "hasPostTitle": false,
      "mimeType": "",
      "hasMimeType": false
    },
    {
      "name": "Experimental Setup",
      "content": "<h3> Available data and experimental setup </h3>\n\n<p> <i> The measurements were performed by Ravitej Uppu and Pepijn Pinkse from the Complex Photonic Systems group at the university of Twente.</i></p>\n<p>\nTwo different Physical Uncloanable Functions (PUFs) were measured with the setup shown below. Participants of the contest will be provided with light intensity measurements corresponding to different challenges,\nas well as the Spacial Light Modulator (SLM) configuration for all the challenges.</p> \n<center>\n<img src=\"https://security1.win.tue.nl/Id_IoT/PUF_setup.png\" alt=\"PUF_setup\" width=\"700\">\n</center>\n<p>\nLaser light in vertical polarization (power 0.7 mW, wavelength 790nm) passes through the SLM. The SLM modulates the phase of the incoming light differently for squares of 10x10 pixels. The SLM is 800x600 pixels with a \npixel size of 20 micrometers. Only part of the SLM is used as can been seen in the SML configuration that is provided.</p>\n<p>\nThe PUF consists of 13 micrometer thick spray-painted ZnO nanoparticles on a glass substrate of 170 &mu;m thick. The glass substrate is towards the input objective and the bare sample faces the output lens.</p>\n<p>\nThe collection objective is an infinity-corrected 0.95 NA, 63x magnification lens. The sample surface is located at 170 micrometer from the collection lens. After passing through a polarizing beam splitter which separates the\nhorizontally and vertically polarized light, the light passes through a plano-convex lens with f = +200 mm, at a distance of “f” from the CCD chip. The image magnification with the 200 mm focal length lens is ~76x. \nThere is a non-polarizing 50:50 beam splitter in the path towards the CCD for horizontal polarization (not shown) which necessitates twice the exposure time for the horizontal polarization. </p>\n<p>\nThe CCD is 388 by 1038 pixels \nwith a pixel pitch of 6.45 micrometer. The image formed on the camera is about 4.5 mm which corresponds to\nabout 62 micrometers on the PUF. Horizontally and vertically polarized light are measured simultaneously. Yet, all provided data will be measurements of the horizontal polarization only.\n</p>\n\n<p>\n<u> Experimental configuration:</u><br>\n\tSample: ZnO nanoparticulate medium (~13 micrometer thick).<br>\n\tWavelength: 790nm<br>\n\tSLM pixel pitch: 20 micrometers<br>\n\tTransmission collected with a 0.9 NA objective.<br>\n\tImage size on the camera: ~700 pixels.<br>\n\tCamera pixel pitch: 6.45 micrometers.<br>\n\tApproximate image size ~ 4.5 mm.<br>\n\tApproximate size of transmitted speckle at the back of the sample: ~62 micrometers.<br>\n\tExposure time: ~1470 microseconds (horizontal polarization)\n</p>\n\n</section>\n\n<section id=\"examples\">\n<h3> Speckle images </h3>\nTwo raw speckle images are shown as examples. Both are from the same PUF but with different incident angles. The images will be provided in the bitmap (bmp) format. \nThe size of the images is 801x821 pixels and about 660kb.<br>\n<center>\n<img src=\"https://security1.win.tue.nl/Id_IoT/raw_example.png\" alt=\"Raw_example\" width=\"400\">\n<img src=\"https://security1.win.tue.nl/Id_IoT/raw_example2.png\" alt=\"Raw_example2\" width=\"400\">\n</center>\n</section>\n\n<h3> Spatial light modulator configuration </h3>\nThe configuration of the SLM is supplied by providing the participants with 963 numbers between 0 and 208. In this notation, 0 stands for no rotation and 208 for rotation by a full circle of 2&pi; radians. \nThe location and size of the phase shifting region on the SLM are provided in an additional file.\nTo help with the interpretation of these files, a short matlab script which draws the SLM configuration is provided. \n\n</div>",
      "isPublished": false,
      "hasIsPublished": false,
      "postTitle": "",
      "hasPostTitle": false,
      "mimeType": "",
      "hasMimeType": false
    }
  ]
}