<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: Rithika S </title>
    <description>The latest articles on Forem by Rithika S  (@rithika_2025).</description>
    <link>https://forem.com/rithika_2025</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3579634%2Fd820e871-89bc-48b8-9078-34643bc7d36b.jpeg</url>
      <title>Forem: Rithika S </title>
      <link>https://forem.com/rithika_2025</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/rithika_2025"/>
    <language>en</language>
    <item>
      <title>How Fingerprints Identify You: The Algorithm Beneath the Biometric</title>
      <dc:creator>Rithika S </dc:creator>
      <pubDate>Thu, 23 Oct 2025 13:21:25 +0000</pubDate>
      <link>https://forem.com/iste-vit/how-fingerprints-identify-you-the-algorithm-beneath-the-biometric-3gg1</link>
      <guid>https://forem.com/iste-vit/how-fingerprints-identify-you-the-algorithm-beneath-the-biometric-3gg1</guid>
      <description>

&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

&lt;p&gt;Have you ever wondered what happens when you simply touch your phone or biometric fingerprint sensor, and it instantly unlocks? It's  a blend of electronics that capture your unique fingerprint, algorithms that understand and verify it, and  machine learning that enhances security. In this blog, we will explore sensor electronics and the data structures and algorithms (DSA) that empower it.&lt;/p&gt;

&lt;h2&gt;
  
  
  Overview of the Process
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fk9mhh562y8xfvoyqlczz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fk9mhh562y8xfvoyqlczz.png" alt=" " width="800" height="270"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;FIG: 1 - The image illustrates the process of a fingerprint recognition system&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Source: researchgate&lt;/p&gt;

&lt;p&gt;A typical fingerprint recognition system performs the following steps:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Capture the fingerprint&lt;/strong&gt; using a hardware sensor.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Preprocess&lt;/strong&gt; the image to clean it up.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Extract key features&lt;/strong&gt; (called minutiae).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Match&lt;/strong&gt; those features to a stored template using algorithms.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Embedded system and machine learning&lt;/strong&gt; to detect spoofing or fake inputs.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Sensors:
&lt;/h2&gt;

&lt;p&gt;A fingerprint scanner is a sensor that converts the physical ridges and valleys of your finger into a digital image. Let's explore two common types:&lt;/p&gt;

&lt;h2&gt;
  
  
  1. Optical Sensors:light
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1dmqmkc3a4sxy01n6cab.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1dmqmkc3a4sxy01n6cab.png" alt=" " width="800" height="304"&gt;&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;FIG: 2 - This image illustrates the optical sensor used in fingerprint scanners&lt;/strong&gt;&lt;br&gt;
Source: researchgate&lt;/p&gt;

&lt;p&gt;Optical sensors use an LED to illuminate your finger on a glass plate. A light-sensitive sensor array (like a CCD or CMOS) captures the reflected light. Ridges, in direct contact with the glass, reflect light differently than valleys (air gaps), creating a digital image where ridges appear darker and valleys lighter.&lt;/p&gt;

&lt;h2&gt;
  
  
  2. Capacitive Sensors:  Electrical
&lt;/h2&gt;

&lt;p&gt;Capacitive sensors consist of a grid of tiny capacitor plates. When your finger touches the sensor, ridges make direct contact, altering the electrical charge (capacitance) of the underlying capacitors. Valleys, being air gaps, cause a different, smaller change. The sensor measures these minute differences across its grid, converting the pattern of varying electrical charges into a digital map of your fingerprint.Your skin conducts electricity, completing a tiny circuit when a ridge touches a sensor point, changing its charge.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fi9utruw9jis0pcuv0kuw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fi9utruw9jis0pcuv0kuw.png" alt=" " width="800" height="359"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;FIG: 3 - This image illustrates the electrical sensor used in fingerprint scanners&lt;/strong&gt;&lt;br&gt;
Source: ubergizmo&lt;/p&gt;

&lt;h2&gt;
  
  
  Image Preprocessing
&lt;/h2&gt;

&lt;p&gt;Once the electronic sensor captures the raw image, it will become a bunch of pixel values. To make sense of it, we need some Digital Signal Processing (DSP) and Data Structures and Algorithms (DSA) to clean it up and extract meaningful features.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsizp3t4zlm41vvkhfihu.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsizp3t4zlm41vvkhfihu.png" alt=" " width="800" height="289"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;FIG: 4 - The image illustrates the process of fingerprint minutiae extraction and refinement&lt;/strong&gt; &lt;br&gt;
Source: researchGate&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Grayscale Conversion &amp;amp; Normalization:&lt;/strong&gt; Raw images are converted to grayscale and normalized for consistent intensity values.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Binarization:&lt;/strong&gt; The grayscale image is converted into a binary (black and white) image, simplifying the data.
3.&lt;strong&gt;Thinning (Skeletonization):&lt;/strong&gt; Ridges are reduced to a single-pixel width to simplify feature extraction&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Python code: Simple Binarization&lt;/strong&gt;&lt;br&gt;
 fingerprint_image is a 2D list (or NumPy array) of pixel values (0-255).&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fb6l5dej1pd3awdalvlz9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fb6l5dej1pd3awdalvlz9.png" alt=" " width="800" height="363"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Minutiae Extraction
&lt;/h2&gt;

&lt;p&gt;Now that we have a clean, thinned binary image, we have to find the minutiae using dsa. These are the tiny, unique features that truly distinguish one fingerprint from another.Minutiae are unique features of your fingerprint.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The most common minutiae are illustrated in the image:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fazrny9cia5xt5owl1n31.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fazrny9cia5xt5owl1n31.png" alt=" " width="800" height="314"&gt;&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;FIG:5-The most common minutiae are illustrated in the image&lt;/strong&gt;&lt;br&gt;
Source:mdpi.&lt;/p&gt;

&lt;p&gt;The system scans the image using a sliding window to locate these points, storing their (x, y) coordinates and orientation.A "minutia map" or template is created, which is a simplified representation of the fingerprint's unique characteristics. This map is then converted into a digital data stream, typically a binary code, for storage and comparison. These features are often stored in a hash map for quick lookup.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fru6x76qpogbpcytcq535.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fru6x76qpogbpcytcq535.png" alt=" " width="800" height="195"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;FIG:6-The image illustrates the process of converting a biometric, specifically a fingerprint, into a digital data stream for identification or verification purposes, a core concept in biometric security&lt;/strong&gt;&lt;br&gt;
source:timeteccloudblog.com&lt;/p&gt;

&lt;p&gt;These features are often stored in a &lt;strong&gt;hash map&lt;/strong&gt;, so that when the system needs to compare two fingerprints, it can look up corresponding features quickly in &lt;strong&gt;O(1)&lt;/strong&gt; time.&lt;/p&gt;

&lt;p&gt;––Python code using a list of dictionaries  :––&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmkqe3bgitg69n9eiq7s9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmkqe3bgitg69n9eiq7s9.png" alt=" " width="800" height="325"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Matching Algorithms
&lt;/h2&gt;

&lt;p&gt;With two sets of minutiae (one from the scanned print, one from the database), the final step is comparison. Advanced DSA techniques ensure speed and accuracy. The goal is to find how many minutiae pairs from the two fingerprints "match" within a certain tolerance for position and orientation, even if the finger was placed slightly differently (rotated or shifted).&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fb2w1t2ko39piq28ny5q6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fb2w1t2ko39piq28ny5q6.png" alt=" " width="800" height="451"&gt;&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;FIG: 7- Minutiae matching based on minutiae&lt;/strong&gt;&lt;br&gt;
Source: researchgate, &lt;a href="http://www.irjet.net" rel="noopener noreferrer"&gt;www.irjet.net&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Reference minutiae-&lt;/strong&gt;These are the key points (e.g., ridge endings and bifurcations) extracted from a known or stored fingerprint, used as a basis for comparison. &lt;br&gt;
&lt;strong&gt;A template minutia-&lt;/strong&gt;A specific minutiae point belonging to the reference or stored fingerprint. &lt;br&gt;
&lt;strong&gt;A query minutia-&lt;/strong&gt;A specific minutiae point belonging to the fingerprint being compared (the one under investigation). &lt;br&gt;
&lt;strong&gt;A pair of paired minutiae-&lt;/strong&gt;This indicates a corresponding pair of minutiae points that have been successfully matched between the template and the query fingerprint, signifying a high degree of similarity in their location and orientation.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Simplified Matching (Euclidean Distance Concept)&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This involves picking a reference minutia from the input fingerprint, aligning it to a stored template, and calculating how many other minutiae pairs are "close enough" after alignment.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Python code:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqx9ftevrp2cxdztnwak0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqx9ftevrp2cxdztnwak0.png" alt=" " width="800" height="547"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Spatial Trees for Efficient Searching
&lt;/h2&gt;

&lt;p&gt;If you have millions of stored fingerprints in a database is it possible for you to quickly find a match without comparing your input to every single one.This is where &lt;strong&gt;spatial indexing data structures like R-trees&lt;/strong&gt; and &lt;strong&gt;kd trees&lt;/strong&gt; become incredibly useful.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frm3522i8jybkcn5q4s5f.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frm3522i8jybkcn5q4s5f.png" alt=" " width="800" height="312"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;FIG: 8 - The Kd-tree structure storing minutiae.&lt;/strong&gt;&lt;br&gt;
 Source: researchGate&lt;/p&gt;

&lt;p&gt;An Kd-tree organizes spatial data (like the (x, y) coordinates of minutiae or groups of minutiae) in a hierarchical tree structure. A non-leaf node in K-D tree divides the space into two parts, called as half-spaces. Points to the left of this space are represented by the left subtree of that node and points to the right of the space are represented by the right subtree.When you search for a fingerprint's minutiae, the system doesn't have to scan the whole thing. It quickly traverses the tree, going only into bounding boxes that overlap with the region where your input minutiae are located. This drastically reduces the number of comparisons needed, making the search much faster.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Creation of 2D tree&lt;/strong&gt;&lt;br&gt;
Consider the following points in 2D plane:(3,6), (17,15), (13,15), (6,12), (9,1), (2,7), (10,19)&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fha1sma4204scn52calw2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fha1sma4204scn52calw2.png" alt=" " width="800" height="299"&gt;&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;FIG:9-Creation of 2D tree&lt;/strong&gt;&lt;br&gt;
source:greeksforgreeks    &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Tree Building Rule :&lt;/strong&gt;&lt;br&gt;
At even depths (0, 2, 4...), &lt;strong&gt;split by X&lt;/strong&gt; (X-aligned).At odd depths (1, 3, 5...), &lt;strong&gt;split by Y&lt;/strong&gt; (Y-aligned).Left subtree if key is &lt;strong&gt;less than, right if greater than or equal to&lt;/strong&gt;.&lt;br&gt;
Example: Insert (3, 6):Tree is empty → Make (3, 6) the root.Depth: 0 → X-aligned.&lt;br&gt;
Insert (17, 15):Compare X: 17 &amp;gt; 3 → Go to right of (3, 6).Depth: 1 → Y-aligned.Insert at right → (17, 15).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;K-D Tree space partitioned (2D):&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Example:Point (3, 6):&lt;/strong&gt;Divide the space vertically &lt;strong&gt;→ Draw line X = 3&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;Point (2, 7):&lt;/strong&gt;Goes to the left of X = 3 → &lt;strong&gt;Divide horizontally → Draw line Y = 7 to the left of X = 3.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Python Code:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnczqvjwhir07hehmgx35.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnczqvjwhir07hehmgx35.png" alt=" " width="800" height="197"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Dry Run&lt;/strong&gt;&lt;br&gt;
You insert: (12,8), (10,9), (15,5), (13,7).KDTree splits based on X then Y to form a binary search space.A query for (12,8) returns nearby points by checking both branches efficiently.&lt;br&gt;
&lt;strong&gt;Time Complexity: O(log n)&lt;/strong&gt;— much faster than comparing every stored fingerprint point.&lt;/p&gt;

&lt;h2&gt;
  
  
  Hashing for Quick Pre-Filtering
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Fingerprint Enrollment:&lt;/strong&gt;An image of a fingerprint is captured. Minutiae(unique points like ridge endings and bifurcations) are extracted from the fingerprint image. These minutiae are then converted into hashes (digital representations). These hashes are stored in a Fingerprint hash database for future reference. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3b9lu74nkmn5h8wkcfip.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3b9lu74nkmn5h8wkcfip.png" alt=" " width="800" height="268"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;FIG:11-The image illustrates the process of fingerprint enrollment and verification using a hash-based system&lt;/strong&gt;&lt;br&gt;
Source:stack exchange.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Fingerprint Verification:&lt;/strong&gt;A new Image of a fingerprint is captured for verification. Minutiae are extracted from this new fingerprint image, similar to the enrollment process. These minutiae are converted into new hashes.These new hashes are then compared (match) against the stored hashes in the fingerprint hash database to verify the individual's identity. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3buwof0xb4i06kk0hkxb.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3buwof0xb4i06kk0hkxb.png" alt=" " width="800" height="384"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;FIG-12-Components of hashing&lt;/strong&gt;&lt;br&gt;
source:greeksforgreeks.&lt;/p&gt;

&lt;p&gt;Hashing is a process used in data structures (like hash tables) to efficiently store, retrieve, and manage data. The three core components involved in hashing are:&lt;br&gt;
&lt;strong&gt;Key:&lt;/strong&gt; Input to the hash function.&lt;br&gt;
&lt;strong&gt;Hash Function:&lt;/strong&gt;Takes a key and produces an integer output (hash code or index).&lt;br&gt;
&lt;strong&gt;Hash Table:&lt;/strong&gt; Data structure (typically an array) where key-value pairs are stored, with the index determined by the hash function..It allows for O(1) average time complexity for search, insert, and delete operations.In case of collisions, techniques like chaining or open addressing are used.&lt;br&gt;
Example:&lt;strong&gt;Suppose we want to store a student's grade using their roll number:&lt;br&gt;
Key: 1023 (Roll Number)&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;Hash Function: 1023 % 10 = 3&lt;br&gt;
Hash Table: Store the grade in index 3 of the array.&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;Collision in Hashing&lt;/strong&gt;&lt;br&gt;
A &lt;strong&gt;collision&lt;/strong&gt; occurs when &lt;strong&gt;two different keys&lt;/strong&gt; generate the &lt;strong&gt;same hash index&lt;/strong&gt;.It  happens because many keys are mapped to a &lt;strong&gt;limited number of slots&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fiy5dw4jddeonm8lhwt5d.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fiy5dw4jddeonm8lhwt5d.png" alt=" " width="800" height="283"&gt;&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;FIG:13-The image illustrates collosion&lt;/strong&gt;&lt;br&gt;
source:greeksforgreeks.&lt;/p&gt;

&lt;p&gt;While you wouldn't hash an entire fingerprint for matching (due to collision risks and sensitivity to minor variations), hashing concepts can be used in clever ways for pre-filtering. For example, if you can extract certain invariant features from a fingerprint (like the overall pattern type - loop, whorl, arch, or a unique pattern formed by a small cluster of minutiae), you could generate a hash for that feature. This hash could then point to a smaller subset of the database, narrowing down the search before running the full minutiae matching algorithm.&lt;/p&gt;

&lt;h2&gt;
  
  
  Embedded Systems &amp;amp; ML
&lt;/h2&gt;

&lt;p&gt;Tiny, powerful computers and intelligent software enhance the entire process:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2o03uz2zq5xdtoz7p2mn.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2o03uz2zq5xdtoz7p2mn.png" alt=" " width="800" height="393"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;FIG:14-An embedded system is a specialized computer system designed to perform a dedicated function within a larger mechanical or electronic system. The image illustrates the core components and interactions within such a system.&lt;/strong&gt;&lt;br&gt;
source:The engineering project&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Embedded Systems :&lt;/strong&gt;  Modern fingerprint scanners are often powered by &lt;strong&gt;embedded systems.&lt;/strong&gt;These are specialized computer systems designed to perform a dedicated function within a larger mechanical or electrical system. They contain a microcontroller/microprocessor, memory, I/O interfaces, and power management. They perform real-time processing for quick unlocking.These systems perform real-time processing, ensuring your phone unlocks in milliseconds. They are the dedicated "fingerprint processing units" that live inside your device.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fer5b7m1yvhc31a4ci1xx.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fer5b7m1yvhc31a4ci1xx.png" alt=" " width="800" height="328"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;FIG:15-This image illustrates a process involving "Model Fingerprinting" for edge model selection and anomaly detection in AI models.&lt;/strong&gt;&lt;br&gt;
source:medium.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Machine Learning :&lt;/strong&gt; ML, especially deep learning, enhances accuracy and security.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Enhanced Image Processing:&lt;/strong&gt; ML models can denoise and enhance poor-quality images.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Robust Feature Extraction:&lt;/strong&gt; Advanced ML models can extract a richer set of features.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Liveness Detection (Anti-Spoofing):&lt;/strong&gt; ML models differentiate between real and fake fingers by analyzing subtle cues like skin elasticity, sweat pore activity, pulse/blood flow, texture, and depth.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Reference:
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Research gate&lt;/li&gt;
&lt;li&gt;sage journals&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.mudpi.com" rel="noopener noreferrer"&gt;www.mudpi.com&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Arrow electronic &lt;/li&gt;
&lt;li&gt;Bayometric&lt;/li&gt;
&lt;li&gt;Semiconductor engineering &lt;/li&gt;
&lt;li&gt;M2SYStechnology&lt;/li&gt;
&lt;li&gt;Starlink&lt;/li&gt;
&lt;li&gt;geeksforgeeks&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>computerscience</category>
      <category>programming</category>
      <category>iot</category>
    </item>
  </channel>
</rss>
