def METHOD_NAME(self, params, IDsrc, rk, cid):
    H = group.hash((IDsrc, cid['C']), G1)
    if pair(params['g'], cid['S']) != pair(H, cid['C']['A']):
        if debug: print("Re-encryption Failed")
        return None                
    t = group.random(ZR)
    B_ = cid['C']['B'] / (pair(cid['C']['A'], rk['R'] * H ** t)/pair(params['g'] ** t, cid['S']))
    if(debug):
        print('\nRe-ncrypt...')
        print('H => %s' % H)
        print('t => %s' % t)
        print('B\' => %s' % B_)
    return {'A':cid['C']['A'], 'B':B_, 'C':cid['C']['C'], 'IDsrc':IDsrc, 'N':rk['N']}