Inferensys

Glossary

Rescaling

A CKKS-specific operation that divides the ciphertext by a scaling factor after multiplication to maintain a stable scale and manage noise, analogous to truncating floating-point precision.
Developer demonstrating multi-agent tool use, agent tool selection interface on laptop, casual tech demo moment.
CKKS NOISE MANAGEMENT

What is Rescaling?

Rescaling is the core operation in the CKKS homomorphic encryption scheme that divides a ciphertext by a scaling factor after multiplication to maintain a stable scale and truncate accumulated noise.

Rescaling is the CKKS-specific operation that divides a ciphertext by a scaling factor after a homomorphic multiplication to maintain a stable scale and manage noise. It is functionally analogous to truncating the least significant bits of a floating-point number to prevent precision from growing unboundedly. Without rescaling, the scale factor would grow exponentially with each multiplication, quickly exhausting the noise budget and corrupting the ciphertext.

This operation reduces the ciphertext modulus proportionally, which also reduces the absolute noise, effectively extending the usable noise budget without executing a costly bootstrapping procedure. Each rescaling consumes one level from the predetermined multiplicative depth, making it a critical resource to track in leveled fully homomorphic encryption. Rescaling is what makes the CKKS scheme uniquely efficient for approximate arithmetic in privacy-preserving machine learning inference.

NOISE MANAGEMENT

Key Characteristics of Rescaling

Rescaling is the fundamental CKKS operation that maintains a stable scale and manages noise growth after homomorphic multiplication, analogous to truncating floating-point precision in unencrypted computation.

01

Core Mechanism

Rescaling divides the ciphertext by a scaling factor (Δ) after multiplication to restore the scale to its original level. In CKKS, a ciphertext encrypts a message m as m · Δ + e, where e is noise. Multiplying two ciphertexts yields a product with scale Δ² and quadratic noise growth. Rescaling divides by Δ, reducing the scale back to Δ and proportionally reducing the absolute noise. This operation consumes one level from the modulus chain, making it a limited resource that must be budgeted during circuit design.

Δ² → Δ
Scale Reduction
02

Modulus Chain Management

CKKS operates on a modulus chain—a hierarchy of decreasing moduli q₀ > q₁ > ... > qₗ. Each rescaling operation drops the ciphertext to the next smaller modulus, consuming one level. The initial modulus q₀ determines the multiplicative depth of the computation. A circuit requiring L sequential multiplications needs a modulus chain of at least L levels. Exhausting all levels leaves the ciphertext at the lowest modulus, where no further operations are possible without bootstrapping to refresh the chain.

L
Multiplicative Depth
03

Fixed-Point Arithmetic Analogy

Rescaling is the encrypted equivalent of fixed-point truncation. In plaintext fixed-point arithmetic, multiplying two k-bit numbers produces a 2k-bit result that must be truncated back to k bits to prevent unbounded growth. Similarly, CKKS multiplication doubles the effective precision, and rescaling truncates it back. This introduces a small approximation error—acceptable because CKKS is designed for approximate arithmetic on real numbers, making it ideal for machine learning workloads where exact integer precision is unnecessary.

Approximate
Arithmetic Type
04

Interaction with Relinearization

After multiplication, two operations are typically required: relinearization to reduce ciphertext size, and rescaling to manage scale and noise. The order matters. Rescaling is performed first to bring the scale back to Δ, followed by relinearization to collapse the three-component ciphertext back to two components. Performing relinearization before rescaling would operate on a ciphertext with scale Δ², requiring different key-switching parameters. The standard sequence is:

  • Multiply → Rescale → Relinearize
3 → 2
Ciphertext Components
05

Level Budgeting in Neural Networks

When implementing encrypted inference for neural networks, each homomorphic multiplication (e.g., fully-connected layer, convolution) consumes one level via rescaling. A network with 10 linear layers requires at least 10 levels in the modulus chain. Activation functions like ReLU must be approximated by low-degree polynomials, each multiplication within the polynomial also consuming levels. This forces a trade-off between network depth, polynomial accuracy, and computational cost. Typical CKKS parameters for deep networks use a modulus chain of 16–30 levels.

16–30
Typical Level Budget
06

Rescaling vs. Modulus Switching

While both operations reduce the ciphertext modulus, they serve distinct purposes:

  • Rescaling: Divides by the scaling factor Δ after multiplication, maintaining a consistent scale. It is an integral part of CKKS arithmetic.
  • Modulus Switching: A general noise management technique that scales down the modulus to reduce absolute noise without a corresponding multiplication. It can be used between operations to extend the noise budget. Rescaling is a specialized form of modulus switching that simultaneously normalizes the scale, making it essential for CKKS's approximate arithmetic model.
NOISE MANAGEMENT TECHNIQUES

Rescaling vs. Modulus Switching vs. Bootstrapping

A comparison of the three primary operations used to control noise growth and manage the modulus chain in leveled homomorphic encryption schemes, with a focus on CKKS.

FeatureRescalingModulus SwitchingBootstrapping

Primary Purpose

Maintain scale invariance after multiplication

Reduce noise magnitude proportionally

Refresh exhausted noise budget to enable unlimited computation

Operation Type

Division by scaling factor and modulus reduction

Modulus reduction without scale adjustment

Homomorphic evaluation of decryption circuit

Effect on Noise

Reduces absolute noise proportionally with modulus

Reduces absolute noise proportionally with modulus

Resets noise to a fixed low level

Effect on Scale

Restores scale to original value

Preserves the current scale

Resets scale to a fresh encoding

Computational Cost

Low

Low

Very High

Typical Latency

< 1 ms

< 1 ms

Seconds to minutes

Supported Schemes

CKKS only

BFV, CKKS

FHE schemes (CKKS, BFV, TFHE)

Enables Unlimited Computation

CKKS RESCALING

Frequently Asked Questions

Answers to common questions about the rescaling operation in the CKKS homomorphic encryption scheme, a critical noise management technique for approximate arithmetic.

Rescaling is the CKKS-specific operation that divides a ciphertext by a scaling factor after a homomorphic multiplication to maintain a stable scale and manage noise. In the CKKS scheme, plaintexts are multiplied by a large scaling factor Δ (delta) before encryption to preserve precision during approximate arithmetic. When two ciphertexts are multiplied, the underlying scale becomes Δ², and the noise grows proportionally. Rescaling divides the ciphertext modulus by Δ, effectively truncating the least significant bits—analogous to rounding in floating-point arithmetic—to bring the scale back down to approximately Δ. This operation is essential because it prevents the scale from growing exponentially with each multiplication, which would otherwise cause rapid modulus exhaustion and incorrect decryption. Rescaling is performed using modulus switching, which also reduces the absolute noise in the ciphertext, extending the noise budget for subsequent operations.

Prasad Kumkar

About the author

Prasad Kumkar

CEO & MD, Inference Systems

Prasad Kumkar is the CEO & MD of Inference Systems and writes about AI systems architecture, LLM infrastructure, model serving, evaluation, and production deployment. Over 5+ years, he has worked across computer vision models, L5 autonomous vehicle systems, and LLM research, with a focus on taking complex AI ideas into real-world engineering systems.

His work and writing cover AI systems, large language models, AI agents, multimodal systems, autonomous systems, inference optimization, RAG, evaluation, and production AI engineering.