class_docstr: Encrypted tensor object that uses binary sharing to perform computations.
  
  Binary shares are computed by splitting each value of the input tensor
  into n separate random values that xor together to the input tensor value,
  where n is the number of parties present in the protocol (world_size).
class_docstr_tok: ["Encrypted","tensor","object","that","uses","binary","sharing","to","perform","computations",".","Binary","shares","are","computed","by","splitting","each","value","of","the","input","tensor","into","n","separate","random","values","that","xor","together","to","the","input","tensor","value",",","where","n","is","the","number","of","parties","present","in","the","protocol","(","world_size",")","."]
docstr: Right shift elements by `value` bits
docstr_tok: ["Right","shift","elements","by","`","value","`","bits"]
code: def rshift(self, value):
      """Right shift elements by `value` bits"""
      return self.clone().rshift_(value)
  
imports: import crypten.communicator
  import torch
  from crypten.common.functions import regular
  from crypten.common.rng import generate_kbit_random_tensor
  from crypten.common.tensor_types import is_tensor
  from crypten.common.util import torch_cat, torch_stack
  from crypten.cuda import CUDALongTensor
  from crypten.encoder import FixedPointEncoder
  from .None import beaver, circuit
label_desc: Use image node_id 30 for calling the BinarySharedTensor obj's underlying member method code with example usage: obj.rshift(value) and returns: self