Papers
Topics
Authors
Recent
Search
2000 character limit reached

Reed-Solomon LSB Watermarking

Updated 15 January 2026
  • Reed–Solomon LSB Watermarking is a steganographic method that integrates error-correcting RS codes with LSB embedding to hide binary data in images.
  • The SCReedSolo framework applies pseudo-random shuffling, Fernet encryption, and RS error correction to ensure confidentiality, robustness, and imperceptibility.
  • Empirical results showing PSNR >50 dB and SSIM near 0.99 validate its effectiveness against noise and resistance to steganalysis detection.

Reed–Solomon LSB Watermarking denotes a class of image steganography techniques that employ Reed–Solomon (RS) error-correcting codes in conjunction with least-significant-bit (LSB) embedding to realize watermarking or payload-concealing systems with enhanced robustness and security. The SCReedSolo framework exemplifies this paradigm by integrating pseudo-random payload shuffling, Fernet symmetric-key encryption, and RS codes, thereby enabling imperceptible, confidential, and error-resilient embedding of arbitrary binary data into RGB images at a capacity of 3 bits per pixel (Raiyan et al., 16 Mar 2025).

1. SCReedSolo Framework: Workflow and Components

The end-to-end process in SCReedSolo commences with conversion of the secret object (e.g., text, image, audio) into an ASCII string, followed by a multilayered pre-embedding pipeline:

  1. Pseudo-random shuffling of the payload, seeded with ps=SHA256(p)p^s = \mathrm{SHA256}(p), where pp is a user-supplied password, to decorrelate bit patterns.
  2. Fernet symmetric encryption (AES-128-CBC + HMAC-SHA256), leveraging pm=Base64(MD5(p))p^m = \mathrm{Base64}(\mathrm{MD5}(p)), to secure confidentiality.
  3. Reed–Solomon error-correcting encoding, which maps kk message symbols to nn codeword symbols using an RS(n,k)\mathrm{RS}(n,k) code over GF(28)\mathrm{GF}(2^8).
  4. Bit-level LSB embedding—obtained codeword bytes are bit-packed, length-prefixed, and sequentially substituted into the LSBs of the carrier’s color channels.

Extraction reverses this procedure: LSB extraction, bit (un)packing, RS decoding, decryption, and unshuffling reveal the original secret.

2. Reed–Solomon Encoding and Error Correction

In SCReedSolo, Reed–Solomon encoding operates on symbol blocks over GF(28)\mathrm{GF}(2^8), using a code RS(n,k)\mathrm{RS}(n,k) with error correction radius

t=nk2.t = \big\lfloor \frac{n-k}{2} \big\rfloor.

Message symbols represented as the polynomial

m(x)=m0+m1x++mk1xk1m(x) = m_0 + m_1 x + \cdots + m_{k-1} x^{k-1}

are mapped to a codeword polynomial through

c(x)=m(x)xnk+[m(x)xnkmodg(x)],c(x) = m(x)\,x^{n-k} + \bigl[ m(x)\,x^{n-k} \bmod g(x) \bigr],

where

g(x)=i=0nk1(xαi),g(x) = \prod_{i=0}^{n-k-1} (x - \alpha^i),

with α\alpha a primitive element.

The encoder can equivalently act via a generator matrix GG, c=mGc = m \cdot G, where the redundancy overhead (nkn-k) determines the maximum number of symbol errors that can be corrected post-extraction. The designer chooses nn and kk to modulate robustness vs. embedding payload.

3. LSB Embedding Model and Bit Assignment

Subsequent to encoding, the byte sequence R=(r0,...,rn1)R = (r_0, ..., r_{n-1}) is bit-unpacked, prefixed by a 32-bit header LL, to create a binary message MM of length BB: M=(L31L30...L0(r0)7...(r0)0...(rn1)7...(rn1)0).M = (L_{31} L_{30}...L_0 \mid (r_0)_7...(r_0)_0 \mid ... \mid (r_{n-1})_7...(r_{n-1})_0). This payload is embedded in the cover image (M×NM \times N pixels, RGB), up to $3MN$ bits (3 bpp), using one LSB per color channel. The bit assignment is: p(i)=i3,c(i)=imod3,p(i) = \left\lfloor \frac{i}{3} \right\rfloor, \qquad c(i) = i \bmod 3, which indexes the pixel and channel for the ii-th bit mim_i. The embedding operation is: gc(i)(xp(i),yp(i))=(gc(i)(xp(i),yp(i))    0xFE)    mi,g'_{c(i)} \big(x_{p(i)}, y_{p(i)} \big) = \big( g_{c(i)} (x_{p(i)}, y_{p(i)}) \;\wedge\; 0\mathrm{xFE} \big) \;|\; m_i, zeroing the existing LSB and inserting mim_i.

4. Analysis of Robustness under Bit-Level Noise

For a channel where LSBs are flipped with probability pp, the number of unflipped codeword bits, XX, follows

XBin(n,1p).X \sim \mathrm{Bin}(n, 1-p).

Reed–Solomon decoding is successful if the number of symbol errors does not exceed tt, yielding: Pr{successful decode}=i=ntn(ni)(1p)ipni.\Pr\{\text{successful decode}\} = \sum_{i=n-t}^{n} \binom{n}{i} (1-p)^i p^{n-i}. For a p=0.5p=0.5 channel: Pr{Xnt}=i=ntn(ni)12n.\Pr\{X \geq n-t\} = \sum_{i=n-t}^{n} \binom{n}{i} \frac{1}{2^n}. The survival probability incorporating combinatorial embedding is: Pr(payload survives)=i=(n+k)/2n(ni)(3MNn)2n.\Pr(\text{payload survives}) = \sum_{i = \lceil(n+k)/2\rceil}^{n} \binom{n}{i} \frac{ \binom{3MN}{n} }{2^n }.

5. Embedding and Extraction Pseudocode

The embedding and extraction algorithms are formalized as:

Embedding $\textsc{Embed}(g,S,p)$:

1
2
3
4
5
6
7
8
9
10
Input: cover image g of size M×N×3, secret string S, password p
1. Compute seed  p^s = SHA256(p)
2. Shuffle indices of S using seed p^s  S
3. Compute Fernet key p^m = Base64(MD5(p)); encrypt F = FernetEncrypt(S,p^m)
4. RSencode R = RS_encode(F)
5. Convert Rbits: prepend 32bit length L  binary message M of length B
6. For i in 0..min(B,3MN)1:
     let (px,py,c)=pixel_channel(i)
     set g_c(px,py) = (g_c(px,py)&0xFE) | M[i]
7. Output stegoimage g

Extraction $\textsc{Extract}(g′,p)$:

1
2
3
4
5
6
7
Input: stegoimage g, password p
1. For i=0..3MN1:  extract bit m_i = g_c(px,py) & 1    // reconstruct M until length prefix L read
2. Parse first 32 bits as L; read next L bits as R_2
3. Pack into bytes R; run F = RS_decode(R)
4. Decrypt S = FernetDecrypt(F,p^m) using p^m from MD5(p)
5. Unshuffle S from S using seed p^s=SHA256(p)
6. Return recovered secret S

6. Quantitative Performance and Steganalysis Resistance

SCReedSolo achieves an embedding rate of 3 bpp (bits per pixel) on 8-bit RGB images. Empirical metrics for typical benchmarks include:

Image PSNR (dB) SSIM MSE NRMSE
Pillars of Creation 51.8 0.99 1.09 0.006
Moon 57.7 0.99 1.04 0.006
Lenna 52.9 0.93 1.43 0.007

Under speckle/Poisson noise, payloads are robustly recovered by RS decoding; in the case of more severe salt-and-pepper or Gaussian noise, recovery succeeds if bit errors do not exceed the code’s correction threshold. Passive steganalysis tools—including the Aletheia toolbox—fail to detect SCReedSolo-modified images, and the system is immune to simple active attacks exploiting LSB patterns (Raiyan et al., 16 Mar 2025).

7. Security and Robustness Considerations

The SCReedSolo construction combines three orthogonal defenses:

  • Confidentiality: Secured by Fernet encryption (AES-128-CBC with HMAC-SHA256). Without knowledge of the key pp, intercepted payloads are cryptographically protected.
  • Robustness: Reed–Solomon coding corrects up to t=(nk)/2t = \lfloor (n-k)/2 \rfloor symbol errors induced by noise or active attacks.
  • Covertness: Pseudo-random shuffling obfuscates deterministic bit patterns, minimizing statistical anomalies that could betray the presence of hidden data.

A plausible implication is that this composite approach ensures a balance of high payload (3 bpp), visual imperceptibility (PSNR > 50 dB), payload secrecy, and substantial resilience to bit-level destruction, rendering the scheme suitable for robust, high-throughput image watermarking and covert communication (Raiyan et al., 16 Mar 2025).

Definition Search Book Streamline Icon: https://streamlinehq.com
References (1)

Topic to Video (Beta)

No one has generated a video about this topic yet.

Whiteboard

No one has generated a whiteboard explanation for this topic yet.

Follow Topic

Get notified by email when new papers are published related to Reed-Solomon LSB Watermarking.